ButtonBase.Click 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當按一下 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 或 SPACEBAR 來引發 Click 事件 AccessText 。 當使用者按下 SPACEBAR 時,控制項會將 設定 IsPressed 為 true
並擷取滑鼠。 因此,控制項會引發滑鼠事件,例如 MouseEnter 和 IsMouseDirectlyOverChanged 。 請注意,使用 AccessText 或 ENTER 並不會變更 IsPressed 或擷取滑鼠,但會引發 Click 事件。
會將 ButtonBase 事件標示 MouseLeftButtonDown 為在 方法中 OnMouseLeftButtonDown 處理,並引發 Click 事件。 因此, OnMouseLeftButtonDown 繼承自 ButtonBase 的控制項永遠不會發生 此事件。 請改為將事件處理常式附加至 PreviewMouseLeftButtonDown 事件,或呼叫 AddHandler(RoutedEvent, Delegate, Boolean) ,並將 handledEventsToo
設定為 true
。
路由事件資訊
識別碼欄位 | ClickEvent |
路由策略 | 鼓 泡 |
代理人 | RoutedEventHandler |