Tratamento da Entrada do Usuário
Este tópico descreve os principais eventos de teclado e mouse fornecidos pelo System.Windows.Forms.Control. Ao manipular um evento, os autores de controle devem substituir o protegido OnEventName método em vez de anexar um delegado ao evento. Para uma revisão de eventos, consulte Geração de eventos de um componente.
Observação |
---|
Se não há nenhum dado associado a um evento, uma instância da classe base EventArgs é passado como um argumento para o OnEventName método. |
Eventos de teclado.
Os eventos de teclado comum que pode manipular o seu controle são KeyDown, KeyPress, e KeyUp.
Nome do evento |
Método de substituição |
Descrição do evento |
---|---|---|
KeyDown |
void OnKeyDown(KeyEventArgs) |
Gerado somente quando uma tecla é pressionada inicialmente. |
KeyPress |
void OnKeyPress (KeyPressEventArgs) |
Disparado toda vez que uma tecla é pressionada. Se uma tecla é pressionada, uma KeyPress evento é gerado com a taxa de repetição definida pelo sistema operacional. |
KeyUp |
void OnKeyUp(KeyEventArgs) |
Gerado quando uma tecla é liberada. |
Observação |
---|
Tratamento de entrada do teclado é consideravelmente mais complexo do que substituir os eventos na tabela anterior e está além do escopo deste tópico. Para obter mais informações, consulte Entrada do Usuário nos Formulários do Windows. |
Eventos do Mouse
Os eventos de mouse que pode manipular o seu controle são MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove, e MouseUp.
Nome do evento |
Método de substituição |
Descrição do evento |
---|---|---|
MouseDown |
void OnMouseDown(MouseEventArgs) |
Gerado quando o botão do mouse é pressionado enquanto o ponteiro está sobre o controle. |
MouseEnter |
void OnMouseEnter(EventArgs) |
Gerado quando o ponteiro entra primeiro a região do controle. |
MouseHover |
void OnMouseHover(EventArgs) |
Gerado quando o ponteiro passa sobre o controle. |
MouseLeave |
void OnMouseLeave(EventArgs) |
Gerado quando o ponteiro sai da região do controle. |
MouseMove |
void OnMouseMove(MouseEventArgs) |
Gerado quando o ponteiro se move na região do controle. |
MouseUp |
void OnMouseUp(MouseEventArgs) |
Gerado quando o botão do mouse é liberado enquanto o ponteiro está sobre o controle ou o ponteiro sai da região do controle. |
O fragmento de código a seguir mostra um exemplo de substituir o MouseDown de evento.
Protected Overrides Sub OnMouseDown(ByVal e As MouseEventArgs)
MyBase.OnMouseDown(e)
If Not (myAllowUserEdit) Then
Return
End If
Capture = True
dragging = True
SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseDown(MouseEventArgs e) {
base.OnMouseDown(e);
if (!allowUserEdit) {
return;
}
Capture = true;
dragging = true;
SetDragValue(new Point(e.X, e.Y));
}
O fragmento de código a seguir mostra um exemplo de substituir o MouseMove de evento.
Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)
MyBase.OnMouseMove(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
SetDragValue(New Point(e.X, e.Y))
End Sub
protected override void OnMouseMove(MouseEventArgs e) {
base.OnMouseMove(e);
if (!allowUserEdit || !dragging) {
return;
}
SetDragValue(new Point(e.X, e.Y));
}
O fragmento de código a seguir mostra um exemplo de substituir o MouseUp de evento.
Protected Overrides Sub OnMouseUp(ByVal e As MouseEventArgs)
MyBase.OnMouseUp(e)
If (Not myAllowUserEdit Or Not dragging) Then
Return
End If
Capture = False
dragging = False
Value = dragValue
OnValueChanged(EventArgs.Empty)
End Sub
protected override void OnMouseUp(MouseEventArgs e) {
base.OnMouseUp(e);
if (!allowUserEdit || !dragging) {
return;
}
Capture = false;
dragging = false;
value = dragValue;
OnValueChanged(EventArgs.Empty);
}
Para o código-fonte completo para o FlashTrackBar de exemplo, consulte Como: Criar um controle Windows Forms que mostra o andamento.
Consulte também
Conceitos
Eventos em controles Windows Forms
A definição de um evento em controles do Windows Forms