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

備註

當使用者擁有焦點時,可以使用 或 按 ENTER 或 SPACEBAR 來引發 Click 事件 AccessText 。 當使用者按下 SPACEBAR 時,控制項會將 設定 IsPressedtrue 並擷取滑鼠。 因此,控制項會引發滑鼠事件,例如 MouseEnterIsMouseDirectlyOverChanged 。 請注意,使用 AccessText 或 ENTER 並不會變更 IsPressed 或擷取滑鼠,但會引發 Click 事件。

會將 ButtonBase 事件標示 MouseLeftButtonDown 為在 方法中 OnMouseLeftButtonDown 處理,並引發 Click 事件。 因此, OnMouseLeftButtonDown 繼承自 ButtonBase 的控制項永遠不會發生 此事件。 請改為將事件處理常式附加至 PreviewMouseLeftButtonDown 事件,或呼叫 AddHandler(RoutedEvent, Delegate, Boolean) ,並將 handledEventsToo 設定為 true

路由事件資訊

識別碼欄位 ClickEvent
路由策略 鼓 泡
代理人 RoutedEventHandler

適用於