ButtonBase.Click Evento

Definição

Ocorre quando um Button é clicado.

public:
 event System::Windows::RoutedEventHandler ^ Click;
public event System.Windows.RoutedEventHandler Click;
member this.Click : System.Windows.RoutedEventHandler 
Public Custom Event Click As RoutedEventHandler 

Tipo de evento

Exemplos

O exemplo a seguir mostra três botões que respondem a cliques de três maneiras diferentes.

  • Focalizar – o primeiro botão altera as cores quando o usuário passa o mouse sobre o botão

  • Pressione - o segundo botão requer que o mouse seja pressionado enquanto o ponteiro do mouse está no botão.

  • Versão – a terceira não redefine a cor da tela de fundo dos botões até que o mouse seja pressionado e liberado no botão.

<Button Name="btn1" Background="Pink" 
        BorderBrush="Black" BorderThickness="1" 
        Click="OnClick1" ClickMode="Hover">
  ClickMe1
</Button>

<Button Name="btn2" Background="LightBlue" 
        BorderBrush="Black" BorderThickness="1" 
        Click="OnClick2" ClickMode="Press">
  ClickMe2
</Button>

<Button Name="btn3" 
        Click="OnClick3" ClickMode="Release">
  Reset
</Button>
void OnClick1(object sender, RoutedEventArgs e)
{
    btn1.Background = Brushes.LightBlue;
}

void OnClick2(object sender, RoutedEventArgs e)
{
    btn2.Background = Brushes.Pink;
}

void OnClick3(object sender, RoutedEventArgs e)
{
    btn1.Background = Brushes.Pink;
    btn2.Background = Brushes.LightBlue;
}
Private Sub OnClick1(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn1.Background = Brushes.LightBlue
End Sub

Private Sub OnClick2(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn2.Background = Brushes.Pink
End Sub

Private Sub OnClick3(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn1.Background = Brushes.Pink
    btn2.Background = Brushes.LightBlue
End Sub

Comentários

O usuário pode acionar o Click evento usando um AccessText ou pressionando ENTER ou a BARRA DE ESPAÇOS quando o controle tem foco. Quando o usuário pressiona a BARRA DE ESPAÇOS, o controle define IsPressed como true e captura o mouse. Como resultado, o controle gerará eventos do mouse, como MouseEnter e IsMouseDirectlyOverChanged. Observe que usar o AccessText ou ENTER não altera IsPressed nem captura o mouse, mas gera o Click evento.

O ButtonBase marca o MouseLeftButtonDown evento como manipulado no OnMouseLeftButtonDown método e aciona o Click evento. Portanto, o OnMouseLeftButtonDown evento nunca ocorrerá para um controle que herda de ButtonBase. Em vez disso, anexe um manipulador de eventos ao PreviewMouseLeftButtonDown evento ou chame AddHandler(RoutedEvent, Delegate, Boolean) com definido truecomo handledEventsToo .

Informações de evento encaminhado

Campo Identificador ClickEvent
Estratégia de roteamento Borbulhando
Delegar RoutedEventHandler

Aplica-se a