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 

イベントの種類

次の例は、3 つの異なる方法でクリックに応答する 3 つのボタンを示しています。

  • ホバー - ユーザーがボタンの上にマウスを置くと、最初のボタンの色が変わります

  • [押す] - 2 番目のボタンでは、マウス ポインターがボタン内にある間にマウスを押す必要があります。

  • リリース - 3 番目のボタンは、ボタンでマウスが押されて離されるまで、ボタンの背景色をリセットしません。

<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を使用するか、コントロールにフォーカスがあるときに Enter キーまたは SPACE キーを押して、AccessText イベントを発生させることができます。 ユーザーが Space キーを押すと、コントロールは IsPressedtrue に設定し、マウスをキャプチャします。 その結果、 MouseEnterIsMouseDirectlyOverChangedなどのマウス イベントが発生します。 AccessTextまたは ENTER を使用しても、IsPressed変更やマウスのキャプチャは行われませんが、Click イベントが発生します。

ButtonBaseは、MouseLeftButtonDown イベントを OnMouseLeftButtonDown メソッドで処理されたイベントとしてマークし、Click イベントを発生させます。 そのため、 OnMouseLeftButtonDown イベントは、 ButtonBaseから継承するコントロールに対しては発生しません。 代わりに、イベント ハンドラーを PreviewMouseLeftButtonDown イベントにアタッチするか、AddHandler(RoutedEvent, Delegate, Boolean)handledEventsToo に設定してtrueを呼び出します。

ルーティング イベント情報

品目 価値
識別子フィールド ClickEvent
ルーティング戦略 バブル
代理人 RoutedEventHandler

適用対象