用于Windows应用程序的Vb.Net中使用Enter键的Tab键功能的单一代码

问题描述 投票:0回答:2

我为用户在每种形式的文本框上按ENTER时都使用Tab键的行为编写此代码,效果很好。

    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。谢谢

vb.net
2个回答
0
投票

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

向项目添加控件非常容易,只需在解决方案资源管理器中右键单击您的项目-> Add-> User Control“在此处输入图像描述”

为您的控件命名。 “ tabedtextbox”“在此处输入图像描述”

向您的用户控件添加文本框控件“在此处输入图像描述”

将代码放入UserControl的textbox1的keypress事件中

 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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9VbjR2Sy5wbmcifQ==” alt =“在此处输入图像描述”>

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

转到您的表单并添加新的用户控件,您可以在“工具箱”面板中找到它。“在此处输入图像描述”

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


0
投票

如果您希望允许用户在文本框中按下Enter键,而不是按下特定按钮,您可以使用acceptbutton属性。一种使用它的好方法是在TextBox的EnterLeave事件上更改属性。当用户在文本框内按Enter时,调用Button的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

© www.soinside.com 2019 - 2024. All rights reserved.