Учитывая tabindex (целое число), как выбрать список? - PullRequest
0 голосов
/ 21 февраля 2012

Я сделал форму с 10 списками. Я хочу сосредоточиться на списке по своему выбору. Например, если я выберу целое число «3», оно будет фокусироваться на списке со значением tabindex = 3.

Как мне это сделать?

Я думал, что это может сработать, но это не так:

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

1 Ответ

1 голос
/ 21 февраля 2012

У вас есть массив элементов управления для ваших списков?Если это так, вы можете просто сделать это:

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

Этот код перебирает все элементы управления в вашей форме и активно ищет тот, который соответствует вашей вкладкеиндекс.Как только элемент управления найден, он устанавливает на него фокус.

...