2012-02-20 12 views
0

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

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

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

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

ответ

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 

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

+0

Hi G Mastros. СПАСИБО! – phan

Смежные вопросы