ButtonBase.Click Evento

Definición

Se genera cuando se hace clic en Button.

C#
public event System.Windows.RoutedEventHandler Click;

Tipo de evento

Ejemplos

En el ejemplo siguiente se muestran tres botones que responden a clics de tres maneras diferentes.

  • Mantener el puntero: el primer botón cambia los colores cuando el usuario mantiene el mouse sobre el botón.

  • Presionar: el segundo botón requiere que se presione el mouse mientras el puntero del mouse está en el botón.

  • Liberar: el tercero no restablece el color de fondo de los botones hasta que se presiona y suelta el mouse en el botón.

XAML
<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>
C#
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;
}

Comentarios

El usuario puede generar el Click evento mediante o AccessText presionando ENTRAR o la BARRA ESPACIADORA cuando el control tenga el foco. Cuando el usuario presiona la BARRA ESPACIADORA, el control establece IsPressed en true y captura el mouse. Como resultado, el control generará eventos del mouse como MouseEnter y IsMouseDirectlyOverChanged. Tenga en cuenta que el uso de AccessText o ENTER no cambia IsPressed ni captura el mouse, pero genera el Click evento.

ButtonBase marca el MouseLeftButtonDown evento como controlado en el OnMouseLeftButtonDown método y genera el Click evento . Por lo tanto, el OnMouseLeftButtonDown evento nunca se producirá para un control que herede de ButtonBase. En su lugar, adjunte un controlador de eventos al evento o llame AddHandler(RoutedEvent, Delegate, Boolean) a PreviewMouseLeftButtonDown con handledEventsToo establecido en true.

Información sobre eventos enrutados

Campo identificador ClickEvent
Estrategia de enrutamiento Burbujeante
Delegado RoutedEventHandler

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9