Detecting Enter keypress on VB.NET

前端 未结 15 1276
后悔当初
后悔当初 2020-12-05 04:56

I am using .NET 3.5 framework of VB.NET 2008.

I have some textboxes in my form. I want the tab-like behavior when my user presses ENTER on one of my textboxes. I use

相关标签:
15条回答
  • 2020-12-05 05:09

    You can use PreviewKeyDown Event

    Private Sub txtPassword_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles txtPassword.PreviewKeyDown
        If e.KeyCode = Keys.Enter Then
            Call btnLogin_Click(sender, e)
        End If
    End Sub
    

    Tested on VB.NET 2010

    0 讨论(0)
  • 2020-12-05 05:09

    also can try this:

    If e.KeyChar = ChrW(Keys.Enter) Then
         'Do Necessary code here
    End If
    
    0 讨论(0)
  • 2020-12-05 05:11
    Private Sub BagQty_KeyPress(sender As Object, e As KeyPressEventArgs) Handles BagQty.KeyPress
    
            Select e.KeyChar
    
                Case Microsoft.VisualBasic.ChrW(Keys.Return)
                    PurchaseTotal.Text = Val(ActualRate.Text) * Val(BagQty.Text)
            End Select
    
    
        End Sub
    
    0 讨论(0)
  • 2020-12-05 05:12

    use this code this might help you to get tab like behaviour when user presses enter

     Private Sub TxtSearch_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TxtSearch.KeyPress
        Try
            If e.KeyChar = Convert.ToChar(13) Then
               nexttextbox.setfoucus 
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    
    0 讨论(0)
  • 2020-12-05 05:13

    In the KeyDown Event:

     If e.KeyCode = Keys.Enter Then
           Messagebox.Show("Enter key pressed")
     end if
    
    0 讨论(0)
  • 2020-12-05 05:18

    I have test this code on Visual Studio 2019

    Its working superb

    Just Paste it into you form code

    it will work on all textboxs on same form

    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        Dim keyCode As Keys = CType(msg.WParam, IntPtr).ToInt32
        Const WM_KEYDOWN As Integer = &H100
    
        If msg.Msg = WM_KEYDOWN AndAlso keyCode = Keys.Enter _
         AndAlso Me.ActiveControl.GetType.Name = "TextBox" Then
            Me.SelectNextControl(Me.ActiveControl, True, True, False, True)
            Return True
    
        End If
        Return MyBase.ProcessCmdKey(msg, keyData)
    
    
    End Function
    
    0 讨论(0)
提交回复
热议问题