Свойство | Описание |
---|---|
Button | Содержит информацию о том, какая клавиша мыши была нажата, в соответствии с определением перечня MouseButtons |
Clicks | Содержит информацию о том, сколько раз была нажата и отпущена клавиша мыши |
Delta | Содержит значение со знаком, соответствующее числу щелчков, произошедших при вращении колесика мыши |
X | Содержит информацию о координате |
Y | Содержит информацию о координате |
Вот обновленный класс MainForm, в котором обработка события MouseMove происходит так, как предполагается выше.
public class MainForm: Form {
public MainForm {
…
// Для обработки события MouseMove.
MouseMove += new MouseEventHandler(MainForm_MouseMove);
}
// Обработчик события MouseMove.
public void MainForm_MouseMove(object sender, MouseEventArgs e) {
Text = string. Format ("Текущая позиция указателя: ({0}, {1})
}
}
Если теперь запустить программу и поместить указатель мыши на форму, вы увидите текущие значения координат (х, у) указателя, отображенные в области заголовка соответствующего окна (рис. 19.4).
Рис. 19.4. Мониторинг движения мыши
Регистрация щелчков кнопок мыши
Следует подчеркнуть, что событие MouseUp (как и MouseDown) посылается при щелчке
public MainWindow {
…
// Для обработки события MouseUp.
MouseUp += new MouseHandler(MainForm_MouseUp);
}
Следующий обработчик события MouseUp сообщает в окне сообщения о том, какой кнопкой мыши был выполнен щелчок.
public void MainForm_MouseUp(object sender, MouseEventArgs e) {
// Какая кнопка мыши была нажата?
if (e.Button == MouseButtons.Left) MessageBox.Show("Щелчок левой кнопки");
if (e.Button == MouseButtons.Right) MessageBox.Show("Щелчок правой кнопки");
if (e.Button == MouseButtons.Middle) MessageBox.Show("Щелчок средней кнопки");
}
Ответ на события клавиатуры
Обработка ввода с клавиатуры почти идентична обработке событий мыши. 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.