Member 9774614 Ответов: 1

Несколько форм - получить клавиатуру "ENTER"


Всем привет,

Я немного застрял на следующей задаче:

У меня есть проект с несколькими формами.
Мне нужно получить ключ "Enter" из нескольких форм, но это не работает.
Только в первой форме проекта он работает должным образом.

Что я уже пробовал:

Я использую следующий код для входа введите в первой форме:

Private Sub Start_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
  Select Case e.KeyCode
  Case Keys.Enter
 
  End Select

End Sub

Richard MacCutchan

Нажатие клавиш отправляется в окно (форму), которое в данный момент находится в фокусе.

Member 9774614

Но посылаются и другие клавиатурные вводы,такие как обычные символы,например a, b, c или 1,2,3
правильно на других формах. Только ввод не работает.

CHill60

Нет - нажатия клавиш отправляются в окно (форму), которое в данный момент находится в фокусе. Как бы вы узнали, что Enter не был отправлен с кодом, который вы опубликовали - вы даже не отправляете сообщение в окно отладки (debug.print("enter pressed")).
Попробуйте поместить туда точку останова и изучить отправленный код ключа.

Member 9774614

Извините, но я забыл прокомментировать код выше. Это был всего лишь неполный фрагмент.
Я попытался проанализировать keyboarddata, записав его в окно отладки.
Что-то вроде:
Private Sub Start_KeyDown(sender As Object, e As KeyEventArgs) обрабатывает Me.KeyDown
Отлаживать.Печати(функция cstr(электронная.Код))
Конец Подводной Лодки

Он прекрасно работает на форме 1. Я получаю вывод для обычных символов и специальных клавиш, таких как Enter. Но когда я открываю form2, это не работает. В форме 2 я получаю вывод для 1,2,3 и т. д., Но не для ввода.

Member 9774614

Но посылаются и другие клавиатурные вводы,такие как обычные символы,например a, b, c или 1,2,3
правильно на других формах. Только ввод не работает.

Karthik_Mahalingam

использовать  Ответить  кнопка, чтобы отправить комментарии/запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

1 Ответов

Рейтинг:
1

Member 9774614

Я нашел решение:

В load_event должен был быть выбран элемент управления usercontrol.
В моем случае это было текстовое поле, которое нужно было выбрать.

Private Sub form1_Load(sender As Object, e As EventArgs) Handles Me.Load
    textbox1.Select()
End Sub


Теперь все работает нормально.


Richard MacCutchan

Вот почему мой комментарий сказал: "нажатия клавиш отправляются в окно (форму), которое в данный момент находится в фокусе".. Ключевым является слово "окно", так как каждый элемент управления в форме является окном.