Vb.net 带有自定义事件的控件
我想做的是,即使在文本框控件上也有一个自定义控件,因此当控件上的布尔值设置为false时,它将触发此事件:Vb.net 带有自定义事件的控件,vb.net,events,Vb.net,Events,我想做的是,即使在文本框控件上也有一个自定义控件,因此当控件上的布尔值设置为false时,它将触发此事件: Public Property isError As Boolean = False Public Event IsInError As EventHandler Private Sub textInError() Handles Me.IsInError If isError = False Then Me.BackColor
Public Property isError As Boolean = False
Public Event IsInError As EventHandler
Private Sub textInError() Handles Me.IsInError
If isError = False Then
Me.BackColor = isErrorColor
End If
End Sub
我以前从未真正使用过事件处理程序,所以我对它们不是很熟悉,所以我可能走错了路
谢谢是的,你走错了方向。倾听自己的事件总是一个强烈的信号,表明你错了。您需要编写一个属性设置程序。像这样:
Public Property IsError() As Boolean
Get
Return hasError
End Get
Set(ByVal value As Boolean)
If value == hasError Then Return
hasError = value
If hasError Then
prevBackColor = Me.BackColor
Me.BackColor = isErrorColor
'' RaiseEvent IsInError(Me, EventArgs.Empty) '' If you still need the event
Else
Me.BackColor = prevBackColor
End If
End Set
End Property
Private hasError As Boolean
Private prevBackColor As Color