Нажатие клавиш windows forms

Практическое руководство. Обработка события нажатия кнопки в Windows Forms How to: Respond to Windows Forms Button Clicks

Самым простым использованием Button элемента управления Windows Forms является выполнение некоторого кода при нажатии кнопки. The most basic use of a Windows Forms Button control is to run some code when the button is clicked.

При щелчке Button элемента управления также создается ряд других событий, таких как MouseEnter события, MouseDown и MouseUp . Clicking a Button control also generates a number of other events, such as the MouseEnter, MouseDown, and MouseUp events. Если вы планируете присоединить обработчики событий для этих связанных событий, убедитесь, что их действия не конфликтуют. If you intend to attach event handlers for these related events, be sure that their actions do not conflict. Например, если нажать кнопку, чтобы очистить сведения, введенные пользователем в текстовое поле, при наведении указателя мыши на кнопку не должно отображаться всплывающая подсказка с несуществующими сведениями. For example, if clicking the button clears information that the user has typed in a text box, pausing the mouse pointer over the button should not display a tool tip with that now-nonexistent information.

Если пользователь пытается дважды щелкнуть Button элемент управления, каждый щелчок будет обрабатываться отдельно, то есть элемент управления не поддерживает событие двойного щелчка. If the user attempts to double-click the Button control, each click will be processed separately; that is, the control does not support the double-click event.

Реагирование на нажатие кнопки To respond to a button click

В этой кнопке Click EventHandler напишите код для выполнения. In the button’s Click EventHandler write the code to run. Button1_Click должен быть привязан к элементу управления. Button1_Click must be bound to the control. Дополнительные сведения см. в разделе инструкции. Создание обработчиков событий во время выполнения для Windows Forms. For more information, see How to: Create Event Handlers at Run Time for Windows Forms.

Control. Key Press Событие

Определение

Происходит при нажатии клавиши с буквой, Occurs when a character. пробела или клавиши BACKSPACE, если фокус находится в элементе управления. space or backspace key is pressed while the control has focus.

Тип события

Примеры

В следующем примере кода событие используется KeyPress для предотвращения ввода символов в элемент управления. The following code example uses the KeyPress event to prevent characters from entering the control.

В следующем примере кода демонстрируется порядок возрастания KeyDown событий, KeyUp и KeyPress , а также способы регистрации обработчиков событий для них. The following code example demonstrates the order of rising the KeyDown, KeyUp and KeyPress events, also how to register event handlers on them.

Комментарии

Ключевые события происходят в следующем порядке: Key events occur in the following order:

Это KeyPress событие не вызывается несимвольными ключами, отличными от пробела и Backspace; однако, несимвольные ключи вызывают KeyDown события и KeyUp . The KeyPress event is not raised by non-character keys other than space and backspace; however, the non-character keys do raise the KeyDown and KeyUp events.

Читайте также:  Windows fan speed set

Используйте KeyChar свойство для выборки сочетаний клавиш во время выполнения, а также для использования или изменения подмножества распространенных нажатий клавиш. Use the KeyChar property to sample keystrokes at run time and to consume or modify a subset of common keystrokes.

Чтобы обрабатывать события клавиатуры только на уровне формы и не включать другие элементы управления для получения событий клавиатуры, задайте KeyPressEventArgs.Handled для свойства в KeyPress методе обработки событий формы значение true . To handle keyboard events only at the form level and not enable other controls to receive keyboard events, set the KeyPressEventArgs.Handled property in your form’s KeyPress event-handling method to true .

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий. For more information about handling events, see Handling and Raising Events.

Использование событий клавиатуры Using Keyboard Events

В большинстве программ Windows Forms для обработки ввода с клавиатуры используются события клавиатуры. Most Windows Forms programs process keyboard input by handling the keyboard events. В этом разделе содержится обзор событий клавиатуры, включая сведения об использовании каждого события и данные, которые предоставляются для каждого события. This topic provides an overview of the keyboard events, including details on when to use each event and the data that is supplied for each event. См. также обзор обработчиков событий (Windows Forms) и Общие сведения о событиях (Windows Forms). Also see Event Handlers Overview (Windows Forms) and Events Overview (Windows Forms).

События клавиатуры Keyboard Events

Windows Forms содержит два события, которые возникают при нажатии пользователем клавиши клавиатуры, и одно событие, которое возникает при отпускании пользователем клавиши. Windows Forms provides two events that occur when a user presses a keyboard key and one event when a user releases a keyboard key:

Событие KeyDown возникает один раз The KeyDown event occurs once

Событие KeyPress, которое может встречаться несколько раз, если пользователь удерживает нажатую клавишу. The KeyPress event, which can occur multiple times when a user holds down the same key.

Событие KeyUp возникает один раз при отпускании клавиши. The KeyUp event occurs once when a user releases a key.

Когда пользователь нажимает клавишу, Windows Forms определяет, какое событие вызвать в зависимости от того, на что указывает сообщение клавиатуры — на клавишу с символом или на физическую клавишу. When a user presses a key, Windows Forms determines which event to raise based on whether the keyboard message specifies a character key or a physical key. Дополнительные сведения о символьных и физических ключах см. в разделе как работает ввод с клавиатуры. For more information about character and physical keys, see How Keyboard Input Works.

В следующей таблице описаны указанные три метода. The following table describes the three keyboard events.

События клавиатуры Keyboard event Описание Description Результаты Results
KeyDown Это событие возникает, когда пользователь нажимает физическую клавишу. This event is raised when a user presses a physical key. Обработчик KeyDown получает: The handler for KeyDown receives:
  • Параметр KeyEventArgs, который предоставляет свойство KeyCode (указывающее на физическую клавишу клавиатуры). A KeyEventArgs parameter, which provides the KeyCode property (which specifies a physical keyboard button).
  • Свойство Modifiers (SHIFT, CTRL или ALT). The Modifiers property (SHIFT, CTRL, or ALT).
  • Свойство KeyData (которое объединяет код клавиши и модификатор). The KeyData property (which combines the key code and modifier). Параметр KeyEventArgs также предоставляет: The KeyEventArgs parameter also provides:
  • Свойство Handled, которое может быть задано для предотвращения получения кода клавиши базовым элементом управления. The Handled property, which can be set to prevent the underlying control from receiving the key.
  • Свойство SuppressKeyPress, которое может использоваться для подавления событий KeyPress и KeyUp для данного нажатия клавиши. The SuppressKeyPress property, which can be used to suppress the KeyPress and KeyUp events for that keystroke.
KeyPress Это событие возникает если в результате нажатия клавиши или клавиш получается символ. This event is raised when the key or keys pressed result in a character. Например, пользователь нажимает клавиши SHIFT и строчную «a», в результате получается символ заглавной буквы «A». For example, a user presses SHIFT and the lowercase «a» keys, which result in a capital letter «A» character. KeyPress возникает после KeyDown. KeyPress is raised after KeyDown.
  • Обработчик KeyPress получает: The handler for KeyPress receives:
  • Параметр KeyPressEventArgs, который содержит код символа нажатой клавиши. A KeyPressEventArgs parameter, which contains the character code of the key that was pressed. Этот код является уникальным для каждой комбинации клавиш символа и модификатора. This character code is unique for every combination of a character key and a modifier key.

Например клавиша «A» создаст For example, the «A» key will generate:

Практическое руководство. Обработка ввода с клавиатуры на уровне формы How to: Handle Keyboard Input at the Form Level

Windows Forms предоставляет возможность обработки сообщений клавиатуры на уровне формы, прежде чем они достигнут элемента управления. Windows Forms provides the ability to handle keyboard messages at the form level, before the messages reach a control. В этом разделе показано, как выполнить данную задачу. This topic shows how to accomplish this task.

Обработка ввода с клавиатуры на уровне формы To handle a keyboard message at the form level

Чтобы сообщения клавиатуры принимались формой, прежде чем они достигнут элементов управления в форме, нужно обработать события KeyPress или KeyDown начальной формы и присвоить свойству формы KeyPreview значение true . Handle the KeyPress or KeyDown event of the startup form, and set the KeyPreview property of the form to true so that keyboard messages are received by the form before they reach any controls on the form. В следующем примере кода обрабатывается событие KeyPress посредством обнаружения всех цифровых клавиш и использования «1», «4» и «7». The following code example handles the KeyPress event by detecting all of the number keys and consuming ‘1’, ‘4’, and ‘7’.

Пример Example

В следующем примере кода представлено завершенное приложение для предыдущего примера кода. The following code example is the entire application for the above example. Приложение включает TextBox и несколько других элементов управления, предназначенных для перемещения фокуса ввода из TextBox. The application includes a TextBox along with several other controls that allow you to move focus from the TextBox. Событие KeyPress основной формы Form использует «1», «4» и «7», а событие KeyPress в TextBox использует «2», «5» и «8», остальные клавиши отображаются. The KeyPress event of the main Form consumes ‘1’, ‘4’, and ‘7’, and the KeyPress event of the TextBox consumes ‘2’, ‘5’, and ‘8’ while displaying the remaining keys. Сравните выходные данные MessageBox при нажатии цифровой клавиши, когда фокус ввода установлен на TextBox с выходными данными MessageBox при нажатии цифровой клавиши, когда фокус ввода установлен на одном из других элементов управления. Compare the MessageBox output when you press a number key while the TextBox has focus with the MessageBox output when you press a number key while focus is on one of the other controls.

Компиляция кода Compiling the Code

Для этого примера требуются: This example requires:

Использование событий клавиатуры (Windows Forms .NET) Using keyboard events (Windows Forms .NET)

В большинстве программ Windows Forms для обработки ввода с клавиатуры используются события клавиатуры. Most Windows Forms programs process keyboard input by handling the keyboard events. В этой статье содержится обзор событий клавиатуры, включая сведения об использовании и предоставляемые данные для каждого события. This article provides an overview of the keyboard events, including details on when to use each event and the data that is supplied for each event. Дополнительные сведения о событиях в целом см. в разделе Общие сведения о событиях (Windows Forms .NET). For more information about events in general, see Events overview (Windows Forms .NET).

Документация для Руководства по рабочему столу по .NET 5 (и .NET Core) находится в разработке. The Desktop Guide documentation for .NET 5 (and .NET Core) is under construction.

События клавиатуры Keyboard events

Windows Forms содержит два события, которые возникают при нажатии пользователем клавиши клавиатуры, и одно событие, которое возникает при отпускании пользователем клавиши. Windows Forms provides two events that occur when a user presses a keyboard key and one event when a user releases a keyboard key:

  • Событие KeyDown возникает один раз. The KeyDown event occurs once.
  • Событие KeyPress, которое может встречаться несколько раз, если пользователь удерживает нажатую клавишу. The KeyPress event, which can occur multiple times when a user holds down the same key.
  • Событие KeyUp возникает один раз при отпускании клавиши. The KeyUp event occurs once when a user releases a key.

Когда пользователь нажимает клавишу, Windows Forms определяет, какое событие вызвать в зависимости от того, на что указывает сообщение клавиатуры — на клавишу с символом или на физическую клавишу. When a user presses a key, Windows Forms determines which event to raise based on whether the keyboard message specifies a character key or a physical key. Дополнительные сведения о символьных и физических клавишах см. в разделе Обзор клавиатуры, события клавиатуры. For more information about character and physical keys, see Keyboard overview, keyboard events.

В следующей таблице описаны указанные три метода. The following table describes the three keyboard events.

События клавиатуры Keyboard event Описание Description Результаты Results
KeyDown Это событие возникает, когда пользователь нажимает физическую клавишу. This event is raised when a user presses a physical key. Обработчик KeyDown получает: The handler for KeyDown receives:
  • Параметр KeyEventArgs, который предоставляет свойство KeyCode (указывающее на физическую клавишу клавиатуры). A KeyEventArgs parameter, which provides the KeyCode property (which specifies a physical keyboard button).
  • Свойство Modifiers (SHIFT, CTRL или ALT). The Modifiers property (SHIFT, CTRL, or ALT).
  • Свойство KeyData (которое объединяет код клавиши и модификатор). The KeyData property (which combines the key code and modifier). Параметр KeyEventArgs также предоставляет: The KeyEventArgs parameter also provides:
  • Свойство Handled, которое может быть задано для предотвращения получения кода клавиши базовым элементом управления. The Handled property, which can be set to prevent the underlying control from receiving the key.
  • Свойство SuppressKeyPress, которое может использоваться для подавления событий KeyPress и KeyUp для данного нажатия клавиши. The SuppressKeyPress property, which can be used to suppress the KeyPress and KeyUp events for that keystroke.
KeyPress Это событие возникает если в результате нажатия клавиши или клавиш получается символ. This event is raised when the key or keys pressed result in a character. Например, пользователь нажимает клавиши SHIFT и строчную «a», в результате получается символ заглавной буквы «A». For example, a user presses SHIFT and the lowercase «a» keys, which result in a capital letter «A» character. KeyPress возникает после KeyDown. KeyPress is raised after KeyDown.
  • Обработчик KeyPress получает: The handler for KeyPress receives:
  • Параметр KeyPressEventArgs, который содержит код символа нажатой клавиши. A KeyPressEventArgs parameter, which contains the character code of the key that was pressed. Этот код является уникальным для каждой комбинации клавиш символа и модификатора. This character code is unique for every combination of a character key and a modifier key.

Например клавиша «A» создаст For example, the «A» key will generate:

Читайте также:  Драйвера ml 1210 под windows
Оцените статью