Поделиться через


ButtonBase.Click Событие

Определение

Происходит при нажатии элемента управления Button.

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

Тип события

Примеры

В следующем примере показаны три кнопки, которые реагируют на щелчки тремя разными способами.

  • Наведение — первая кнопка меняет цвета при наведении указателя мыши на кнопку

  • Нажатие — вторая кнопка требует нажатия мыши, когда указатель мыши находится на кнопке.

  • Выпуск — третий не сбрасывает цвет фона кнопок до тех пор, пока мышь не будет нажата и не отпущена в кнопке.

<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

Комментарии

Пользователь может вызвать Click событие с помощью AccessText или , нажав клавишу ВВОД или ПРОБЕЛ, когда элемент управления имеет фокус. Когда пользователь нажимает клавишу ПРОБЕЛ, элемент управления устанавливает значение IsPressedtrue и захватывает мышь. В результате элемент управления вызовет события мыши, такие как MouseEnter и IsMouseDirectlyOverChanged. Обратите внимание, что использование AccessText или ВВОД не изменяет IsPressed или не захватывает мышь, но вызывает Click событие .

Помечает ButtonBaseMouseLeftButtonDown событие как обработанное в методе OnMouseLeftButtonDownClick и вызывает событие . Таким образом, OnMouseLeftButtonDown событие никогда не будет происходить для элемента управления, наследуемого от ButtonBase. Вместо этого подключите обработчик событий к событию PreviewMouseLeftButtonDown или вызовите AddHandler(RoutedEvent, Delegate, Boolean)handledEventsToo с параметром .true

Сведения о маршрутизируемом событии

Поле идентификатора ClickEvent
Стратегия маршрутизации Восходящей
Делегат RoutedEventHandler

Применяется к