要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语
本文档已存档,并且将不进行维护。

ButtonBase.Click 事件

在单击 Button 时发生。

命名空间:  System.Windows.Controls.Primitives
程序集:  PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public event RoutedEventHandler Click
<object Click="RoutedEventHandler" .../>

标识符字段

ClickEvent

路由策略

冒泡

delegate

RoutedEventHandler

用户可以使用 AccessText 或在控件有焦点时按 Enter 或空格键来引发 Click 事件。 当用户按空格键时,该控件将 IsPressed 设置为 true,并会捕获鼠标。 因此,该控件将会引发诸如 MouseEnterIsMouseDirectlyOverChanged 之类的鼠标事件。 请注意,使用 AccessText 或 Enter 不会更改 IsPressed 也不会捕获鼠标,但的确能引发 Click 事件。

ButtonBase MouseLeftButtonDown 事件标记为在 OnMouseLeftButtonDown 方法中已处理,并会引发 Click 事件。 因此,从 ButtonBase 继承的控件永远不会发生 OnMouseLeftButtonDown 事件。 应将一个事件处理程序附加到 PreviewMouseLeftButtonDown 事件,或者应在 handledEventsToo 设置为 true 时调用 AddHandler(RoutedEvent, Delegate, Boolean)

下面的示例演示以三种不同方式对单击作出响应的三个按钮。

  • 悬停 - 第一个按钮在用户将鼠标悬停在该按钮上时改变颜色。

  • 按下 - 第二个按钮要求当鼠标指针位于该按钮上时按下鼠标。

  • 释放 - 第三个按钮不会重置按钮的背景颜色,直到在该按钮上按下并释放鼠标。


<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>



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



		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;
		}


.NET Framework

受以下版本支持:4、3.5、3.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求
显示: