在函数内部调用combobox gotfocus事件

时间:2016-02-04 05:19:19

标签: vb.net winforms

我正在使用Windows窗体应用程序,我有两个组合box.inside功能我必须检查我有哪些组合框。依赖于我必须做一些操作

我已经在这样的combox焦点事件中完成了编码

Private Sub cmbfrmwarehouse_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbfrmwarehouse.GotFocus


        Dim currencombobox As ComboBox = sender

    If currencombobox.Equals(cmbfrmwarehouse) Then
        MessageBox.Show("it's in two")
    ElseIf currencombobox.Equals(cmbTowarehouse) Then
        MessageBox.Show("it's in three")
    End If
    End Sub

但是我无法在函数内部调用此事件。我可以实现此目的。请帮助

2 个答案:

答案 0 :(得分:2)

他们必须共享相同的事件处理程序。 sender对象是有问题的组合框。

Private Sub cmbfrmwarehouse_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                            Handles cmbfrmwarehouse.GotFocus, cmbTowarehouse.GotFocus
 Dim currencombobox As ComboBox = sender
 If currencombobox.Equals(cmbfrmwarehouse) Then
    MessageBox.Show("it's in two")
 ElseIf currencombobox.Equals(cmbTowarehouse) Then
    MessageBox.Show("it's in three")
 End If
End Sub

答案 1 :(得分:1)

您无法召集活动。您可以引发事件(在这种情况下,通过将焦点设置在正确的组合框上)或调用它的处理程序:

要举起此活动,请使用相关组合框的Focus()方法:

cmbfrmwarehouse

但是,这只会执行 cmbfrmwarehouse_GotFocus(cmbfrmwarehouse, EventArgs.Empty) '' or cmbfrmwarehouse_GotFocus(cmbTowarehouse, EventArgs.Empty) 的事件处理程序,除非您还使用OneFindeDay's answer并让两个组合框共享GotFocus事件的相同事件处理程序。

另一种方式是调用事件处理程序,只需像调用任何其他方法一样调用它:

{{1}}