Так что это одна из функций, которая не сделала переход на VB.NET - точно :-( Однако вы можете выполнить большую часть того, что вы сделали бы в VB6, с помощью двух разных механизмов в .NET:сбор элементов управления и обработка событий элементов управления.
Цикл по коллекции элементов управления
В VB.NET каждый контейнер формы и элемента управления имеет коллекцию элементов управления. Это коллекция, которую можно зациклитьи затем выполните операцию над элементом управления, например установите значение.
Dim myTxt As TextBox
For Each ctl As Control In Me.Controls
If TypeOf ctl Is TextBox Then
myTxt = CType(ctl, TextBox)
myTxt.Text = "something"
End If
Next
В этом примере кода вы перебираете коллекцию элементов управления, проверяя тип возвращаемого объекта. Если вы нашли текстовое поле, приведите его ктекстовое поле и затем что-то с ним сделать.
Обработка событий управления
Вы также можете обрабатывать события для нескольких элементов управления с помощью одного обработчика событий, как если бы вы использовали массив элементов управления в VB6.Для этого вы будете использовать ключевое слово Handles.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
Dim myTxt As TextBox = CType(sender, TextBox)
MessageBox.Show(myTxt.Text)
End Sub
Ключом здесь является Handles keyслово в конце обработчика события.Вы выделяете различные элементы управления, которые вы хотите обработать, и событие, используя запятую.Убедитесь, что вы обрабатываете элементы управления с одинаковым объявлением события.Если вы когда-нибудь задавались вопросом, для чего был sender на каждом событии, вот одно из его применений.Приведите аргумент отправителя к типу элемента управления, с которым вы работаете, и присвойте его локальной переменной.После этого вы сможете получить доступ к элементу управления, вызвавшему событие, и управлять им так же, как если бы вы указали это в VB6, и индексировать его в массив.
Используя эти два метода, вы можете копировать функциональность массивов управления вVB6.Удачи.