3

社区,我目前在我的用户表单多页上隐藏我的标签,除了当前标签。用户可以单击按钮在页面之间来回切换。一些按钮共享子程序。当用户单击按钮时,一旦选择了新选项卡,它就会隐藏上一个选项卡。我想这是一个双重问题。

1)如何获取上一个选项卡选择值?

2)如何循环浏览我的选项卡值?我的目标是针对所有其他标签测试当前标签标题或值。认为这将是一种隐藏它们的简单方法,无论哪个页面和哪个按钮调用子例程。

现在我只有一个标签按钮...

Sub NewCreditSetup()
    MultiPage1.Pages(1).Visible = True
    MultiPage1.Value = 1
    MultiPage1.Pages(0).Visible = False
    //More code displaying tab...irrelevant
End Sub  
4

2 回答 2

5

您可以使用选项卡更改事件来确定选项卡何时更改并将当前选项卡存储index为变量。然后当再次更改选项卡时,此变量中的选项卡将变为上一个选项卡。

IE:

Private iPrevTab As Integer
Private iCurTab As Integer

Private Sub MultiPage1_Change()
    iPrevTab = iCurTab
    iCurTab = MultiPage1.Index

    'You can also check here what that tab is to do something with it
    If MultiPage1.Value = MultiPage1.Pages("mySpecialPage").Index Then
        'Go Nuts
    End If

End Sub

然后,您可以遍历所有选项卡并检查它们的名称、标题或索引。例如:

Private Sub LoopTabs()
    Dim ii as Integer        

    for ii = 1 to MultiPage1.Pages.Count
        If MultiPage1.Pages(ii).Index = iPrevTab Then
           Debug.Print MultiPage1.Pages(ii).Name & " " & MultiPage1.Pages(ii).Caption
        End If
    Next ii
End Sub

可能还值得注意的是要小心显示和隐藏选项卡,因为它不常见并且可能会使用户感到困惑。不过,我会把它留给你。

于 2013-10-24T23:09:57.557 回答
1

我认为这会对你有所帮助。

Dim m As String
    m = MultiPage1.SelectedItem.Caption
MsgBox m
于 2019-01-22T13:15:23.713 回答