简体   繁体   中英

msgbox when user hits enter in visual basic 2010

I just want to alert when user hit "enter" key.

I tried this one in keyup event,

If e.KeyCode = Keys.Enter Then
    MsgBox("msg")
End If

It didnt work, is that wrong ?

The Enter key has strictly defined use in UI design, it executes the "accept" action of a dialog. In the designer, select the form and set the AcceptButton to your button. No code is required.

Note that the CancelButton has a similar usage, it is hard-wired to the Escape key.

Not a complete answer but it may help. You may block Submission of the main form by exiting sub in case that another textBox is active:

Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click

        ' do not submit anything in case that something else is active
        If txtItemPrompt.Focused() Then
            Exit Sub
        End If

        ' rest of the code
End Sub

It really depends what context you are applying to. The KeyUp event will only fire on a particular control, and bubble up to it's parent controls. However, if focus is not set on the control you are handling the event on then the event will not fire.

Just need to makes sure you put the code inside a sub that Handles Me.KeyDown

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = Keys.Enter Then
            MsgBox("Enter Pressed")
        End If
    End Sub

You need to set the keypreview property of your form to true if you want to see the enter key at the form level. Otherwise it is consumed by whatever control has focus.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM