Обработка введенных пользователем данных
В этом разделе описываются основные события клавиатуры и мыши, предоставляемые System.Windows.Forms.Control. При обработке события разработчики элементов управления должны переопределить защищенный On
метод EventName, а не подключить делегат к событию. Сведения о событиях см. в разделе Инициирование событий из компонента.
Note
Если нет данных связанные с событием, экземпляр базового класса EventArgs передается в качестве аргумента для On
EventName метод.
События клавиатуры
Общими событиями клавиатуры, которые может обрабатывать элемент управления, KeyDown, KeyPress, и KeyUp.
Имя события | Метод для переопределения | Описание события |
---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
Возникает только при первоначальном нажатии клавиши. |
KeyPress |
void OnKeyPress (KeyPressEventArgs) |
Возникает при каждом нажатии клавиши. Если удерживается клавиша, KeyPress события с частотой повторения, определенные операционной системой. |
KeyUp |
void OnKeyUp(KeyEventArgs) |
Возникает при отпускании клавиши. |
Note
Обработка ввода с клавиатуры значительно сложнее, чем переопределение событий в предыдущей таблице и в данном разделе не рассматривается. Дополнительные сведения см. в разделе Ввод данных пользователем в Windows Forms.
События мыши
События мыши, которые может обрабатывать элемент управления: MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove, и MouseUp.
Имя события | Метод для переопределения | Описание события |
---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
Возникает при нажатии кнопки мыши, когда указатель мыши находится на элементе управления. |
MouseEnter |
void OnMouseEnter(EventArgs) |
Возникает, когда указатель мыши впервые входит в область элемента управления. |
MouseHover |
void OnMouseHover(EventArgs) |
Возникает, когда указатель мыши наводится на элемент управления. |
MouseLeave |
void OnMouseLeave(EventArgs) |
Возникает, когда указатель мыши покидает область элемента управления. |
MouseMove |
void OnMouseMove(MouseEventArgs) |
Возникает, когда указатель мыши перемещается в область элемента управления. |
MouseUp |
void OnMouseUp(MouseEventArgs) |
Возникает при отпускании кнопки мыши, когда указатель мыши находится на элементе управления или покидает область элемента управления. |
В следующем фрагменте кода показан пример переопределения MouseDown событий.
protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
if (!allowUserEdit) {
return;
}
Capture = true;
dragging = true;
SetDragValue(new Point(e.X, e.Y));
}
В следующем фрагменте кода показан пример переопределения MouseMove событий.
protected override void OnMouseMove(MouseEventArgs e) {
base.OnMouseMove(e);
if (!allowUserEdit || !dragging) {
return;
}
SetDragValue(new Point(e.X, e.Y));
}
В следующем фрагменте кода показан пример переопределения MouseUp событий.
protected override void OnMouseUp(MouseEventArgs e) {
base.OnMouseUp(e);
if (!allowUserEdit || !dragging) {
return;
}
Capture = false;
dragging = false;
value = dragValue;
OnValueChanged(EventArgs.Empty);
}
Полный исходный код для FlashTrackBar
пример, см. в разделе как: Создание элемента управления Windows Forms, показывающего прогресс.