我想知道如何创建一个Class来更改Form中的每个文本框BackColor。 更具体:
目前,我这样做。
Private Sub tb_Login_Enter(sender As Object, e As EventArgs) Handles tb_Login.Enter
tb_Login.BackColor = Color.LightCyan
End Sub
Private Sub tb_Login_Leave(sender As Object, e As EventArgs) Handles tb_Login.Leave
If tb_Login.Text <> "" Then
tb_Login.BackColor = Color.LightGreen
Else
tb_Login.BackColor = Color.White
End If
但是,我有很多TextBox,所以,我该如何为它创建一个类?
由于
答案 0 :(得分:0)
您可以创建一个包含文本框控件集合的类。您可以通过Form或用户控件的Controls属性获取此集合,并验证控件的类型。 在内部,类必须订阅文本框控件集合中列出的事件。 最后,在处理事件的方法上,您必须编写相应更改颜色的逻辑。 请记住,handle事件方法具有在第一个参数上触发事件的控件。
如果你有更多疑问,我可以详细说明。
答案 1 :(得分:0)
您需要做的就是从TextBox控件继承。
Public Class TextBoxEx
Inherits TextBox
Private Sub TextBoxEx_Enter(sender As Object, e As EventArgs) Handles Me.Enter
Me.BackColor = Color.LightCyan
End Sub
Private Sub TextBoxEx_Leave(sender As Object, e As EventArgs) Handles Me.Leave
If Me.Text <> "" Then
Me.BackColor = Color.LightGreen
Else
Me.BackColor = Color.White
End If
End Sub
End Class
构建项目,然后用新的TextBoxEx控件替换TextBox控件。