0

私がやろうとしているのは、テキストボックスコントロールでもカスタムを持っているので、コントロールのブール値がfalseに設定されていると、このイベントが発生します:

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

これまでイベントハンドラーを実際に使用したことがないため、イベントハンドラーにあまり慣れていないため、ここで間違った道を進んでいる可能性があります

ありがとう

4

1 に答える 1

1

はい、あなたはこれで間違った方向に進んでいます。自分自身の出来事に耳を傾けることは、常に間違っていることを強く示しています。代わりにプロパティ セッターを記述します。このような:

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
于 2012-05-07T19:50:22.003 に答える