我在组合框上的Validated
事件中处理了一些逻辑,但希望在选择完成后立即触发。我可以单独处理SelectedIndexChanged
事件以触发事件,但我不确定如何调用它。
Private Sub ComboSelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
Handles ComboBox1.SelectedIndexChanged
'Fire Validated Event
End Sub
Private Sub ComboValidated(sender As System.Object, e As System.EventArgs) _
Handles ComboBox1.Validated
'Do Something Here
End Sub
我宁愿不直接调用处理验证事件的方法,
ComboValidated(Nothing, Nothing)
因为它不正是我正在尝试使用代码而它会再次运行,而事实上经过验证的事件实际上会在失去焦点时触发。
我可以执行哪些代码来触发已验证的事件(通过直接触发事件或使控件失去焦点)?
答案 0 :(得分:1)
你为什么不把它作为Sub ..
Private Sub ComboValidated(sender As System.Object, e As System.EventArgs) _
Handles ComboBox1.Validated
InCBValidated()
End Sub
Sub InCBValidated()
'Do Something Here
End Sub
所以你只需致电InCBValidated()
答案 1 :(得分:0)
我通过使控件失去焦点然后解除了所有必要的事件来解决这个问题。控件恰好位于一个分组框中,因此删除焦点的最简单方法就是给予该控件焦点,以便仍然选择页面上相同的位置
Private Sub ComboSelectedIndexChanged(sender As System.Object, e As System.EventArgs) _
Handles ComboBox1.SelectedIndexChanged
If ComboBox1.Focused Then GroupBox1.Focus()
End Sub