- Control. On Key Down(KeyEventArgs) Метод
- Определение
- Параметры
- Примеры
- Комментарии
- Примечания для тех, кто наследует этот метод
- Key Press Event Args Класс
- Определение
- Примеры
- Комментарии
- Конструкторы
- Свойства
- Методы
- Key Event Args. Key Data Свойство
- Определение
- Значение свойства
- Примеры
- Комментарии
- Передача KeyEventArgs в метод класса
- How can I convert ‘System.Windows.Input.Key’ to ‘System.Windows.Forms.Keys’?
- 4 Answers 4
- Example
Control. On Key Down(KeyEventArgs) Метод
Определение
Вызывает событие KeyDown. Raises the KeyDown event.
Параметры
Объект KeyEventArgs, содержащий данные события. A KeyEventArgs that contains the event data.
Примеры
В следующем примере кода событие используется KeyDown для определения типа символа, введенного в элемент управления. The following code example uses the KeyDown event to determine the type of character entered into the control.
Комментарии
При возникновении события через делегат вызывается обработчик события. Raising an event invokes the event handler through a delegate. Дополнительные сведения см. в разделе обработка и вызов событий. For more information, see Handling and Raising Events.
Метод OnKeyDown также позволяет производным классам обрабатывать событие, не присоединяя делегат. The OnKeyDown method also allows derived classes to handle the event without attaching a delegate. Это предпочтительная методика обработки событий в производном классе. This is the preferred technique for handling the event in a derived class.
Примечания для тех, кто наследует этот метод
При переопределении метода OnKeyDown(KeyEventArgs) в производном классе нужно убедиться, что вызывается метод OnKeyDown(KeyEventArgs) базового класса, чтобы зарегистрированные делегаты получили событие. When overriding OnKeyDown(KeyEventArgs) in a derived class, be sure to call the base class’s OnKeyDown(KeyEventArgs) method so that registered delegates receive the event.
Key Press Event Args Класс
Определение
Предоставляет данные для события KeyPress. Provides data for the KeyPress event.
Примеры
В следующем примере показано использование параметра KeyPressEventArgs для подсчета ключей при их нажатии и отображение результатов после каждого нажатия клавиши. The following example illustrates using the KeyPressEventArgs to count keys as they are pressed and to display the results after each key press. Handled затем принимает значение true, чтобы операционная система не продолжала обрабатывать ключ. Handled is then set to true to keep the operating system from further processing the key. В примере предполагается наличие формы с TextBox помещенным на нее. The example assumes a form with a TextBox placed on it.
Необходимо создать новый экземпляр этого класса. You must create a new instance of this class. Необходимо также задать обработчик событий. You must also set the event handler. Это можно сделать в конструкторе для класса. You can do this in the constructor for your class.
При возникновении указанного события в элементе управления вызывается присоединенный метод, и приложение может выполнить код в ответ на событие. When the specified event is raised in the control, the attached method is called and the application can execute code in response to the event.
Комментарии
KeyPressEventArgsУказывает символ, который формируется, когда пользователь нажимает клавишу. A KeyPressEventArgs specifies the character that is composed when the user presses a key. Например, когда пользователь нажимает SHIFT + K, KeyChar свойство возвращает прописную букву k. For example, when the user presses SHIFT + K, the KeyChar property returns an uppercase K.
KeyPressСобытие возникает, когда пользователь нажимает клавишу. A KeyPress event occurs when the user presses a key. Два события, тесно связанных с KeyPress событием, — это KeyUp и KeyDown . Two events that are closely related to the KeyPress event are KeyUp and KeyDown. KeyDownСобытие предшествует каждому KeyPress событию, когда пользователь нажимает клавишу, и KeyUp событие возникает, когда пользователь отпускает ключ. The KeyDown event precedes each KeyPress event when the user presses a key, and a KeyUp event occurs when the user releases a key. Когда пользователь удерживает ключ, повторяющиеся KeyDown KeyPress события и возникают каждый раз при повторении символа. When the user holds down a key, duplicate KeyDown and KeyPress events occur each time the character repeats. KeyUpПри выпуске создается одно событие. One KeyUp event is generated upon release.
При каждом KeyPress событии KeyPressEventArgs передается значение. With each KeyPress event, a KeyPressEventArgs is passed. KeyEventArgsПередается с каждым KeyDown KeyUp событием и. A KeyEventArgs is passed with each KeyDown and KeyUp event. KeyEventArgsУказывает, были ли нажаты все клавиши-модификаторы (Ctrl, Shift или Alt) вместе с другим ключом. A KeyEventArgs specifies whether any modifier keys (CTRL, SHIFT, or ALT) were pressed along with another key. (Эти сведения об модификаторе также можно получить с помощью ModifierKeys свойства Control класса.) (This modifier information can also be obtained through the ModifierKeys property of the Control class.)
Задайте Handled для значение, true чтобы отменить KeyPress событие. Set Handled to true to cancel the KeyPress event. Это позволяет элементу управления обрабатывать нажатие клавиши. This keeps the control from processing the key press.
Некоторые элементы управления обрабатывают определенные клавиши KeyDown . Some controls will process certain key strokes on KeyDown. Например, RichTextBox обрабатывает клавишу ВВОД перед KeyPress вызовом метода. For example, RichTextBox processes the Enter key before KeyPress is called. В таких случаях нельзя отменить KeyPress событие, а KeyDown вместо этого отменить его. In such cases, you cannot cancel the KeyPress event, and must cancel the key stroke from KeyDown instead.
Дополнительные сведения о модели событий см. в разделе обработка и вызов событий. For information about the event model, see Handling and Raising Events.
Конструкторы
Инициализирует новый экземпляр класса KeyPressEventArgs. Initializes a new instance of the KeyPressEventArgs class.
Свойства
Возвращает или задает значение, показывающее, было ли обработано событие KeyPress. Gets or sets a value indicating whether the KeyPress event was handled.
Возвращает или задает символ, соответствующий нажатой клавише. Gets or sets the character corresponding to the key pressed.
Методы
Определяет, равен ли указанный объект текущему объекту. Determines whether the specified object is equal to the current object.
(Унаследовано от Object)
Служит хэш-функцией по умолчанию. Serves as the default hash function.
(Унаследовано от Object)
Возвращает объект Type для текущего экземпляра. Gets the Type of the current instance.
(Унаследовано от Object)
Создает неполную копию текущего объекта Object. Creates a shallow copy of the current Object.
(Унаследовано от Object)
Возвращает строку, представляющую текущий объект. Returns a string that represents the current object.
Key Event Args. Key Data Свойство
Определение
Получает данные, касающиеся клавиши, для события KeyDown или KeyUp. Gets the key data for a KeyDown or KeyUp event.
Значение свойства
Значение Keys, представляющее код нажатой клавиши вместе с любыми флагами, показывающими, какие из клавиш CTRL, SHIFT и ALT были нажаты одновременно. A Keys representing the key code for the key that was pressed, combined with modifier flags that indicate which combination of CTRL, SHIFT, and ALT keys was pressed at the same time.
Примеры
В следующем примере кода показано использование этого элемента. The following code example demonstrates the use of this member. В этом примере обработчик событий сообщает о возникновении Control.KeyDown события. In the example, an event handler reports on the occurrence of the Control.KeyDown event. Этот отчет поможет вам узнать, когда происходит событие и может помочь при отладке. This report helps you to learn when the event occurs and can assist you in debugging. Чтобы сообщить о нескольких событиях или о событиях, которые происходят часто, рассмотрите возможность замены MessageBox.Show Console.WriteLine или добавления сообщения в многострочный TextBox . To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.
Чтобы выполнить пример кода, вставьте его в проект, содержащий экземпляр типа, наследуемого от Control , например Button или ComboBox . To run the example code, paste it into a project that contains an instance of a type that inherits from Control, such as a Button or ComboBox. Затем присвойте экземпляру имя Control1 и убедитесь, что обработчик событий связан с Control.KeyDown событием. Then name the instance Control1 and ensure that the event handler is associated with the Control.KeyDown event.
Комментарии
KeysДля извлечения данных из свойства можно использовать константы из KeyData . You can use constants from Keys to extract information from the KeyData property. Используйте оператор побитового и для сравнения данных, возвращаемых KeyData с константами в Keys , для получения сведений о том, какие клавиши пользователь нажал. Use the bitwise AND operator to compare data returned by KeyData with constants in Keys to obtain information about which keys the user pressed. Чтобы определить, была ли нажата определенная клавиша-модификатор, используйте Control Shift свойства, и Alt . To determine whether a specific modifier key was pressed, use the Control, Shift, and Alt properties.
Передача KeyEventArgs в метод класса
Товарищи, подскажите пожалуйста следующую вещь — есть обработчик события
Передача названия класса в метод другого класса в качестве входных данных
У меня есть класс «class1», от которого наследуется несколько однотипных классов classX, classY.
Передача объекта класса в метод другого класса
Доброго времени суток! Есть следующие классы: public class TestClass : IDisposable < .
Передача экземпляра класса в метод
Всем привет случайно столкнулся с данной проблемой. Есть простой класс public class.
Не получается передача в метод свойств класса
Есть метод, в который я передаю объекты созданные в главном методе. Через метод в который я передаю.
Если ты будешь передавать KeyEventArgs как object, то потом его надо явно преобразовать:
Аналогично
Добавлено через 2 минуты
Вообще KeyEventArgs обычный объект, какие у него могут быть причины выделываться?
Аналогично
Добавлено через 2 минуты
Вообще KeyEventArgs обычный объект, какие у него могут быть причины выделываться?
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Передача значения переменной из метода одного класса в метод другого класса
Добрый вечер! Есть основная форма Form1 в которой есть метод private void button1_Click(object.
Передача define в метод класса
Подскажите, есть множество define, как мне передать одну их них в метод класса?
Передача массива в метод класса
Здравствуйте, я не могу понять почему я не выходит передать статический массив в метод класса по.
Передача объекта в метод класса
здравствуйте. в процессе написания программы возник такой вопрос. можно ли при вызове метода.
Передача массива в метод класса
Здравствуйте уважаемые форумчане. Намекните пожалуйста (если можно с примером) как решить следующую.
Передача в функцию метод класса
Не получается передать в функцию метод класса. .
How can I convert ‘System.Windows.Input.Key’ to ‘System.Windows.Forms.Keys’?
I’m developing application in WPF but some components are written using WinForms. I wan’t these components to pull key gesture from WPF part and convert them to Keys enum (used in WinForms).
Is there a built in converter for that? (probably not) Do you know «easier than big switch case» method to do that?
4 Answers 4
The KeyInterop class is the «key,» plus the fact that the Windows Forms Keys enumeration has the same integer values as the Win 32 virtual key codes.
Just in case people still encounter the modifier problem 7 years later, here’s my solution that worked so far :
If you want to convert modifiers, use the SystemKey if you’re looking at a KeyEventArgs:
To convert the WPF Key enumeration to the corresponding WinForms Keys enumeration use the static member TryParse of the Enum class:
Enum.TryParse(wpfKeyEnum.ToString(), out System.Windows.Forms.Keys winFormsKeyEnum)
WPF modifiers (ModifierKeys enumeration) can be converted the same way except the Windows key. In contrast to the Windows.Input.ModifierKeys enumeration of WPF the Windows.Forms.Keys enumeration distinguishes between left and right Windows keys and defines corresponding LWin an RWin fields.
This conversion method works in both directions.
Example
The example converts the Key and ModifierKeys enumerations of a WPF key up event to the corresponding WinForms Keys enumeration.