В идеале у вас должно быть два отдельных обработчика для двух отдельных событий, потому что вы делаете разные вещи для разных событий.Но если у вас должен быть только один обработчик, вы можете попробовать что-то вроде этого, и я почти уверен, что это HACK:
Private Sub MaskedTextBox_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OrgNameTextBox.Enter, OrgNameTextBox.Leave
Dim stackTrace As New StackTrace(True)
Dim frame As StackFrame = stackTrace.GetFrames[0]
If(frame.GetMethod.Name = 'OnEntered') <CHECK THE EVENT NAME, THIS IS JUST AN EXAMPLE>
CType(sender, Control).BackColor = Color.Yellow
CType(sender, Control).ForeColor = Color.Black
End If
If(frame.GetMethod.Name = 'OnLeave')
CType(sender, Control).BackColor = Color.Black
CType(sender, Control).ForeColor = Color.White
End If
End Sub
Я видел способ получить имя события где-то только в StackOverflow, яобновлю ответ, как только я найду его, чтобы дать правильный кредит:)
РЕДАКТИРОВАННЫЙ ОТВЕТ
Private Sub MaskedTextBox_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OrgNameTextBox.Enter, OrgNameTextBox.Leave
Dim stackTrace As New StackTrace(True)
For Each frame As StackFrame In s.GetFrames
IF(frame.GetMethod.Name = 'OnEntered') <CHECK THE EVENT NAME, THIS IS JUST AN EXAMPLE>
CType(sender, Control).BackColor = Color.Yellow
CType(sender, Control).ForeColor = Color.Black
End IF
IF(frame.GetMethod.Name = 'OnLeave')
CType(sender, Control).BackColor = Color.Black
CType(sender, Control).ForeColor = Color.White
End If
NEXT --THIS NEEDS TO BE CHECKED, YOU MAY WANT TO EXIT BEFORE,ONCE FOUND YOUR EVENT.
End Sub
Также найден фактический ответ, упомянутый ранее для кредита.Это Как получить имя события в vb.net?