Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Ответ на события клавиатуры
Ответ на события клавиатуры
Обработка ввода с клавиатуры почти идентична обработке событий мыши. cобытия KeyUp и KeyDown работают в паре с делегатом KeyEventHandler, который может указывать на любой метод, получающий объект общего вида в качестве первого параметра, и KeyEventArgs – в качестве второго.
void MyKeyboardHandler(object sender, KeyEventArgs e);
Описания членов KeyEventArgs предлагаются в табл. 19.7.
Таблица 19.7. Свойства типа KeyEventArgs
Свойство | Описание |
---|---|
Alt | Содержит значение, являющееся индикатором нажатия клавиши ‹Alt› |
Control | Содержит значение, являющееся индикатором нажатия клавиши ‹Ctrl› |
Handled | Читает или устанавливает значение, являющееся индикатором полного завершения обработки события обработчиком |
KeyCode | Возвращает клавишный код для события KeyDown или события KeyUp |
Modifiers | Указывает, какие модифицирующие клавиши были нажаты (‹Ctrl›, ‹Shift› и/или ‹Alt›) |
Shift | Содержит значение, являющееся индикатором нажатия клавиши ‹Shift› |
Измените объект MainForm, чтобы реализовать обработку события KeyUp. В окне сообщения отобразите название нажатой клавиши, используя свойство KeyCode.
public class MainForm: Form {
public MainForm() {
…
// Для отслеживания событий KeyUp.
KeyUp += new KeyEventHandler(MainForm_KeyUp);
}
private void MainForm_KeyUp (object sender, KeyEventArgs e) {
MessageBox.Show(e.KeyCode.ToString(), "Нажата клавиша!");
}
}
Скомпилируйте и запустите программу. Теперь вы должны иметь возможность не только определить, какой кнопкой мыши был выполнен щелчок, но и то, какая была нажата клавиша на клавиатуре.
На этом мы завершим обсуждение функциональных возможностей базового класса Control и перейдем к обсуждению роли Form.
Исходный код. Проект ControlBehaviors размещен в подкаталоге, соответствующем главе 19.
- 17.1.1.4. События клавиатуры
- 1.1.7 События
- Ответный файл, используемый по умолчанию (csc.rsp)
- Вопросы и ответы
- 11 Основные возражения и ответы на них
- Снятие ответственности с клиента
- Простейшие события
- Письмо-ответ на обоснованную претензию
- Профилактика поломок клавиатуры
- Создание рабочей области для собраний на основе календарного события
- 2.3. Российский ответ: крупные компании объединяются
- 14.1.1. Ответственность