Partilhar via


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çãoObservaçã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çãoObservaçã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

Outros recursos

Tratamento e disparada de eventos

Entrada do Usuário nos Formulários do Windows