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 

イベントの種類

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 キーを押すと、コントロールはマウスにtrue設定IsPressedされ、キャプチャされます。 その結果、コントロールは、次のような MouseEnter マウス イベントを IsMouseDirectlyOverChanged発生させます。 または ENTER を AccessText 使用しても、マウスは変更 IsPressed またはキャプチャされませんが、イベントは発生します Click

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

ルーティングされたイベント情報

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

適用対象