Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 带有组合框的用户表单-输入键行为_Excel_Vba_Key_Enter - Fatal编程技术网

Excel 带有组合框的用户表单-输入键行为

Excel 带有组合框的用户表单-输入键行为,excel,vba,key,enter,Excel,Vba,Key,Enter,我有一个用户表单,它有一个组合框下拉列表,用户可以在其中选择数据,然后单击按钮,根据输入/选择的数据搜索等效数据 他们是否也可以从键盘上点击“回车”键,其行为是否与单击搜索按钮时相同 您可以使用KeyDown事件,只要激活userform,它看起来像: Private Sub UserForm1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles UserForm

我有一个用户表单,它有一个组合框下拉列表,用户可以在其中选择数据,然后单击按钮,根据输入/选择的数据搜索等效数据


他们是否也可以从键盘上点击“回车”键,其行为是否与单击搜索按钮时相同

您可以使用KeyDown事件,只要激活userform,它看起来像:

Private Sub UserForm1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles UserForm1.KeyDown
        If e.KeyCode.Equals(Keys.Enter) Then
            'Do Stuff
        End If
End Sub
你必须:

  • 将所有UserForm控件的“TabStop”属性设置为
    False

    这是为了防止它们从用户表单本身“窃取”焦点

  • 添加以下
    UserForm\u KeyDown
    事件处理程序

    Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        If KeyCode = vbKeyReturn Then CommandButton1_Click 'change "CommandButton1" to actual name of your button you want to mimic behavior of
    End Sub
    

这里是VB.NET。有关VBA,请参见我的答案