针对Windows应用程序,在Vb.Net中使用Enter键实现制表键功能的单一代码
当用户在每个表单的文本框上按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 但是,我需要编写一次代码,可能是作为模块中的一个子模块或函数,这样我就不必为每个表单编写相同的代码。我查看了各种论坛,包括 和 但我得到的只是为每
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搜索。单击
'.... 要执行的操作
末端接头