ButtonBase.Click ButtonBase.Click ButtonBase.Click ButtonBase.Click Event

Определение

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

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

Примеры

В следующем примере показано три кнопки, которые реагируют на нажатие тремя разными способами.The following example shows three buttons that respond to clicks in three different ways.

  • Задержка — первая кнопка меняет цвет, когда пользователь наводит указатель мыши на кнопкуHover - the first button changes colors when the user hovers with the mouse over the button

  • Нажатие — вторая кнопка требует, что нажать указатель мыши находится на кнопке.Press - the second button requires that the mouse be pressed while the mouse pointer is in the button.

  • Версия - третий не сбрасывает цвет фона кнопки, пока не нажата и отпущена кнопка мыши.Release - the third does not reset the background color of the buttons until the mouse is pressed and released in the button.

<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 или нажатием клавиши ВВОД или пробел, если элемент управления имеет фокус.The user can raise the Click event by using an AccessText or by pressing ENTER or the SPACEBAR when the control has focus. Когда пользователь нажимает клавишу ПРОБЕЛ, элемент управления устанавливает IsPressed для true и захвате мыши.When the user presses the SPACEBAR, the control sets IsPressed to true and captures the mouse. Таким образом, в элемент управления будет создавать события мыши MouseEnter и IsMouseDirectlyOverChanged.As a result, the control will raise mouse events such as MouseEnter and IsMouseDirectlyOverChanged. Обратите внимание, что использование AccessText или ввод не приводит к изменению IsPressed или захвата мыши, но он будет вызывать Click событий.Note that using the AccessText or ENTER does not change IsPressed or capture the mouse, but it does raise the Click event.

ButtonBase Метки MouseLeftButtonDown событие как обработанное в OnMouseLeftButtonDown метода и вызывает Click событий.The ButtonBase marks the MouseLeftButtonDown event as handled in the OnMouseLeftButtonDown method and raises the Click event. Таким образом OnMouseLeftButtonDown событий никогда не будет выполняться для элемента управления, который наследует от ButtonBase.Hence, the OnMouseLeftButtonDown event will never occur for a control that inherits from ButtonBase. Вместо этого Подключите обработчик событий к PreviewMouseLeftButtonDown события или вызов AddHandler(RoutedEvent, Delegate, Boolean) с handledEventsToo присвоено true.Instead, attach an event handler to the PreviewMouseLeftButtonDown event, or call AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo set to true.

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

Поле идентификатораIdentifier field ClickEvent
Стратегия маршрутизацииRouting strategy Восходящая маршрутизацияBubbling
делегатDelegate RoutedEventHandler

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