Правильное .NET-решение это создавать элементы управления кодом и помещать их на форме в тех местах, где они должны стоять.
Автор же сначала кидает контролы на форму в дизайнере, а потом еще в коде дурную работу делает.
AlekseyVB, только без обид:
"Бешенной собаке и сто вёрст не крюк."__________________
Зацените код (на форму ничего кидать не нужно!!):
- Код: Выделить всё
Public Class Form1
Private txtArray(5) As TextBox
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 0 To 5
txtArray(i) = New TextBox
With txtArray(i)
.Parent = Me
.Left = 10
.Top = (.Height + 4) * i
.Tag = i
AddHandler .GotFocus, AddressOf MyGotFocus
End With
Next
End Sub
Private Sub MyGotFocus(ByVal Sender As System.Object, ByVal e As System.EventArgs)
Dim i As Integer
For i = 0 To 5
txtArray(i).BackColor = Color.White
Next
txtArray(Sender.Tag).BackColor = Color.LightGray
End Sub
End Class
Если вместо 5 проставить 50 то тот же код сделает 50 текстбоксов.
_________________
Иногда свойство Tag необходимо в работе, тогда сделаем полную эмуляцию массива контролов как в vb6.
Создадим новый класс, унаследуем его от TextBox, и пропишем в нем публичную переменную Index. Модифицированный код будет выглядеть так:
- Код: Выделить всё
Public Class Form1
Private txtArray(5) As IdxTextBox
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 0 To 5
txtArray(i) = New IdxTextBox
With txtArray(i)
.Parent = Me
.Left = 10
.Top = (.Height + 4) * i
.Index = i
AddHandler .GotFocus, AddressOf MyGotFocus
End With
Next
End Sub
Private Sub MyGotFocus(ByVal Sender As System.Object, ByVal e As System.EventArgs)
Dim i As Integer
For i = 0 To 5
txtArray(i).BackColor = Color.White
Next
txtArray(Sender.Index).BackColor = Color.LightGray
End Sub
End Class
'------------------------------------------
'Вот он новый класс:
'------------------------------------------
Public Class IdxTextBox
Inherits TextBox
Public Index As Integer
End Class