ButtonBase.Click 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
单击 a 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
注解
当控件具有焦点时,用户可以使用 ENTER 或空格键引发 Click 事件 AccessText 。 当用户按下空格键时,控件将设置为IsPressedtrue鼠标并捕获鼠标。 因此,控件将引发鼠标事件,例如 MouseEnter 和 IsMouseDirectlyOverChanged。 请注意,使用 AccessText 或 ENTER 不会更改 IsPressed 或捕获鼠标,但它会引发 Click 事件。
将 ButtonBase 事件标记为 MouseLeftButtonDown 在方法中 OnMouseLeftButtonDown 处理并引发 Click 事件。 因此, OnMouseLeftButtonDown 继承自 ButtonBase的控件永远不会发生该事件。 相反,将事件处理程序附加到 PreviewMouseLeftButtonDown 事件,或调用 AddHandler(RoutedEvent, Delegate, Boolean) 设置为 handledEventsTootrue.
路由事件信息
| 项目 | 价值 |
|---|---|
| 标识符字段 | ClickEvent |
| 路由策略 | 鼓 泡 |
| 代理 | RoutedEventHandler |