msgbox, когда пользователь нажимает ввод в Visual Basic 2010 - PullRequest
1 голос
/ 06 декабря 2009

Я просто хочу предупредить, когда пользователь нажмет клавишу «Ввод».

Я пробовал это в событии keyup,

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

Это не сработало, это так?

Ответы [ 5 ]

3 голосов
/ 06 декабря 2009

Клавиша Enter имеет строго определенное использование в дизайне пользовательского интерфейса, она выполняет действие диалога «принять». В конструкторе выберите форму и установите AcceptButton для вашей кнопки. Код не требуется.

Обратите внимание, что кнопка CancelButton имеет аналогичное использование, она жестко связана с клавишей Escape.

1 голос
/ 21 марта 2011

Не полный ответ, но это может помочь. Вы можете заблокировать отправку основной формы, закрыв sub, если активен другой текстовый блок:

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
0 голосов
/ 21 марта 2011

Вам необходимо установить для свойства keypreview формы значение true, если вы хотите видеть ключ ввода на уровне формы. В противном случае он будет поглощен тем элементом управления, который имеет фокус.

0 голосов
/ 06 декабря 2009

Просто нужно убедиться, что вы поместили код в подпрограмму, которая обрабатывает 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
0 голосов
/ 06 декабря 2009

Это действительно зависит от контекста, к которому вы обращаетесь. Событие KeyUp будет запускаться только для определенного элемента управления и всплывать до его родительских элементов управления. Однако, если фокус не установлен на элементе управления, на котором вы обрабатываете событие, событие не сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...