给定tabindex(整数),如何选择列表框?

时间:2012-02-20 23:08:15

标签: forms vb6 listbox controls

我制作了一个包含10个列表框的表单。我想把焦点放在我选择的列表框上。例如,如果我选择整数“3”,它将把焦点放在tabindex = 3的列表框上。

我该怎么做?

我认为这可能有效,但事实并非如此:

Dim lst As VB.ListBox: Set lst = Form.Controls(lst.TabIndex = 3)
lst.SetFocus

1 个答案:

答案 0 :(得分:1)

您的列表框是否有控件数组?如果是这样,你可以这样做:

YourListBoxName.Item(YourNumber).SetFocus

如果列表框是一个控件数组,并且您的选项卡索引的设置方式与您在屏幕上放置列表框的顺序相同,则上述代码只能正常工作。

否则,您可以尝试以下代码:

Dim oControl As Control
Dim YourNumber As Integer

YourNumber = 4

For Each oControl In Me.Controls
    If oControl.TabIndex = YourNumber Then
        oControl.SetFocus
        Exit For
    End If
Next

此代码将遍历表单上的所有控件,并主动搜索与您的选项卡索引匹配的控件。找到控件后,它会将焦点设置为它。