У меня есть форма с 4-мя текстовыми полями, когда любое текстовое поле получает фокус, затем его цвет обратно меняется на желтый, а другой цвет заднего поля текста меняется на белый.
Когда я работаю в vb6, это легко сделать с помощью управляющего массива. пример Создать управляющий массив текстового поля
set Код выглядит как
Private Sub text1_GotFocus(Index As Integer)
Call color
Text1(Index).BackColor = vbyellow
End Sub
Private Sub color()
For I = 1 To 4
Text1(I).BackColor = vbWhite
Next I
Но в VB. net Массива управления нет, поэтому мы делаем что-то вроде
Module Module1
Public mytext() As TextBox = {Form1.TextBox1, Form1.TextBox2, Form1.TextBox3, Form1.TextBox4}
End Module
Sub color()
For i = 0 To 3
mytext(i).BackColor = Drawing.Color.White
Next i
End Sub
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles
TextBox1.GotFocus
color()
ChangeColor(sender)
End Sub
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
color()
ChangeColor(sender)
End Sub
Private Sub TextBox3_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox3.GotFocus
color()
ChangeColor(sender)
End Sub
Private Sub TextBox4_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.GotFocus
color()
ChangeColor(sender)
End Sub
Sub ChangeColor(ByRef box As TextBox)
box.BackColor= Drawing.Color.Yellow
End Sub
End Class
Но его длинный код может подсказать любой простой способ, как мой код vb6