针对Windows应用程序,在Vb.Net中使用Enter键实现制表键功能的单一代码

针对Windows应用程序,在Vb.Net中使用Enter键实现制表键功能的单一代码,vb.net,Vb.net,当用户在每个表单的文本框上按ENTER键时,我为类似选项卡的行为编写了这段代码,效果很好 If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then SendKeys.Send("{TAB}") e.Handled = True End If 但是,我需要编写一次代码,可能是作为模块中的一个子模块或函数,这样我就不必为每个表单编写相同的代码。我查看了各种论坛,包括 和 但我得到的只是为每

当用户在每个表单的文本框上按ENTER键时,我为类似选项卡的行为编写了这段代码,效果很好

    If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
        SendKeys.Send("{TAB}")
        e.Handled = True
    End If
但是,我需要编写一次代码,可能是作为模块中的一个子模块或函数,这样我就不必为每个表单编写相同的代码。我查看了各种论坛,包括 和 但我得到的只是为每个文本框或每个表单编写代码。
是否有人为所有应用程序试用过单一代码,或者可能是几种选定的应用程序形式?如果是,请与我分享。为每个表单编写代码对我来说仍然很好,但我需要利用OOP。感谢

有很多方法可以实现这一点,其中之一就是创建自定义文本框用户控件

向项目中添加控件非常简单,只需在解决方案资源管理器中的项目中单击鼠标右键->添加->用户控件

为控件命名,例如“tabedtextbox”

将文本框控件添加到用户控件

将代码放入UserControl文本框1的按键事件中

 Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
            SendKeys.Send("{TAB}")
            e.Handled = True
        End If
    End Sub

编译一次,以便使用新的用户控件更新整个项目

转到窗体并添加新的用户控件,您可以在工具箱面板中找到它。


运行程序,当您在每个文本框上按enter键时,您将看到TAB的行为。

如果您希望允许用户在文本框中按enter键,而不是按特定按钮, 您可以使用acceptbutton属性。 使用它的一个好方法是更改属性,在文本框的输入离开事件。当用户在文本框内按Enter键时,单击按钮的事件

请尝试以下代码:

Private Sub-tbProject\u Enter(发送方作为对象,e作为事件参数)处理tbProject。Enter
Me.AcceptButton=b搜索
端接头
私有子tbProject_Leave(发送者作为对象,e作为事件参数)处理tbProject。Leave
Me.AcceptButton=无
端接头
私有子B搜索\u单击(发件人作为对象,e作为事件参数)处理B搜索。单击
'.... 要执行的操作
末端接头