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

注釈

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

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

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

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

適用対象