Compartilhar via


Tratamento da Entrada do Usuário

Este tópico descreve os eventos de teclado e mouse principais fornecidos pelo System.Windows.Forms.Control. Ao manipular um evento, os autores de controle devem substituir o protegidoOnEventName método em vez de anexar um delegado ao evento.Para uma revisão de eventos, consulte Disparar eventos de um componente.

Observação:

Se Nenhum dado associado a um evento, uma instância dados classe base EventArgs é passado sistema autônomo um argumento para o OnEventName método.

Eventos de teclado.

Os eventos de teclado comum que pode lidar com seu controle são KeyDown, KeyPress, e KeyUp.

Nome do evento

Método de substituir

Descrição do evento

KeyDown

void OnKeyDown(KeyEventArgs)

Alto relevo somente quando um chave inicialmente é pressionado.

KeyPress

void OnKeyPress

(KeyPressEventArgs)

Aumenta cada vez um chave é pressionado.Se um chave for mantida pressionada um KeyPress evento é gerado com a taxa de Repetir definida pelo sistema operacional.

KeyUp

void OnKeyUp(KeyEventArgs)

Gerado quando uma tecla é liberada.

Observação:

Manipulação de entrada do teclado é consideravelmente mais complexo 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 lidar com seu controle são MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove, e MouseUp.

Nome do evento

Método de substituir

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 de controle.

MouseHover

void OnMouseHover(EventArgs)

Gerado quando o ponteiro passa sobre o controle.

MouseLeave

void OnMouseLeave(EventArgs)

Gerado quando o ponteiro deixa a região de 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 deixa a região de controle.

O fragmento de código a seguir mostra um exemplo de substituir o MouseDown 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 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 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 exemplo, consulte Como: Criar um controle Windows Forms que mostra o andamento.

Consulte também

Conceitos

Eventos em controles Windows Forms

Definir um evento no Windows Forms Controls

Outros recursos

Tratamento e disparada de eventos

Entrada do Usuário nos Formulários do Windows