使用Vb.Net中的Enter键为Windows应用程序提供Tab键功能的单个代码

时间:2015-03-28 12:45:28

标签: vb.net

当用户在每个表单的文本框上按ENTER键时,我会为类似标签的行为编写此代码,这样可以正常工作。

    If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
        SendKeys.Send("{TAB}")
        e.Handled = True
    End If

但是,我需要编写一次代码,可能作为模块中的子函数或函数,这样我就不必为每个表单编写相同的代码。我查了各种论坛,包括 Detecting Enter keypress on VB.NETTab Key Functionality Using Enter Key in VB.Net 但我得到的只是为每个文本框或每个单独的表单编写代码。 有没有人为ALL尝试过单个代码,或者可能是应用程序的几种选定形式?如果是,请与我分享。为每个表单写作仍然适合我,但我需要利用OOP。感谢

2 个答案:

答案 0 :(得分:0)

有很多方法可以实现这一点,其中一种方法是创建自定义文本框User Control

只需在解决方案资源管理器中右键单击项目,即可轻松地向项目添加控件 - >添加 - >用户控件 enter image description here

给你的对手一个名字。 “tabedtextbox” enter image description here

将文本框控件添加到用户控件 enter image description here

将代码放在UserControl的textbox1的按键事件中

 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 image description here

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

转到您的表单并添加新的用户控件,您可以在“工具箱”面板中找到它。 enter image description here

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

答案 1 :(得分:0)

如果您希望允许用户在文本框中按下Enter键,而不是按下特定按钮, 您可以使用接受按钮属性。 一种使用它的好方法是在TextBox的 Enter Leave 事件上更改属性。当用户在文本框内按下Enter键时,您称为按钮的 Click 事件。

尝试以下代码:

Private Sub tbProject_Enter(sender As Object, e As EventArgs) Handles tbProject.Enter
    Me.AcceptButton = bSearch
End Sub
Private Sub tbProject_Leave(sender As Object, e As EventArgs) Handles tbProject.Leave
    Me.AcceptButton = Nothing
End Sub
Private Sub bSearch_Click(sender As Object, e As EventArgs) Handles bSearch.Click
    '.... actions to perfom
End Sub

Screen

相关问题