英語で読む

次の方法で共有


ButtonBase.Click イベント

定義

Button がクリックされたときに発生します。

C#
public event System.Windows.RoutedEventHandler Click;

イベントの種類

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

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

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

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

XAML
<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>
C#
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;
}

注釈

ユーザーは、 を使用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

適用対象

製品 バージョン
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9