UIElement.OnMouseRightButtonDown(MouseButtonEventArgs) メソッド

定義

未処理の MouseRightButtonDown ルーティング イベントが、そのルート上で、このクラスから派生した要素に到達すると呼び出されます。 このイベントに対するクラス処理を追加するには、このメソッドを実装します。

protected:
 virtual void OnMouseRightButtonDown(System::Windows::Input::MouseButtonEventArgs ^ e);
protected virtual void OnMouseRightButtonDown (System.Windows.Input.MouseButtonEventArgs e);
abstract member OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
override this.OnMouseRightButtonDown : System.Windows.Input.MouseButtonEventArgs -> unit
Protected Overridable Sub OnMouseRightButtonDown (e As MouseButtonEventArgs)

パラメーター

e
MouseButtonEventArgs

イベント データを格納している MouseButtonEventArgs。 このイベント データは、マウスの右ボタンが押されたことを報告します。

注釈

イベントは MouseRightButtonDown バブルルートを旅しているように見えますが、実際には間接的な方法で移動します。 Mouse.MouseDown はバブル ルーティングされる基になるイベントであり、イベント ルートに沿ってそれぞれ UIElement 同じ処理を使用して直接ルーティング イベント MouseRightButtonDownを発生させます。 この要素の目的でイベントを MouseRightButtonDown 処理済みとしてマークすることはできますが、処理された状態はイベント ルートに沿って他の要素に永続化されません。 ただし、イベントを処理済みとしてマークして、一般的なインスタンス ハンドラー (指定 handledEventsTooしなかったハンドラー) が呼び出されないようにすることができます。

一般的なマウス イベント処理の既定の実装では UIElement 、それをリッスン Mouse.MouseDown し、適切なローカル イベントに変換します。 このロジックをオーバーライドする場合は、派生クラスを作成する必要があります。 派生クラスの静的コンストラクターで、次の代替クラス ハンドラーを登録します Mouse.MouseDown。 をオーバーライドしてマウス処理の UIElement 動作を OnMouseRightButtonDown変更することはできません。

または、特定のマウス状態のイベント処理を変更するために、このメソッドをオーバーライドすることもできます。 基本実装を呼び出すかどうかを選択するかどうかは、シナリオによって異なります。 base の呼び出しに失敗すると、呼び出 OnMouseRightButtonDownしを期待する先祖クラスで、そのマウス イベントの既定の入力処理が無効になります。 たとえば、基底を呼び出さずに派生クラスから Control 派生およびオーバーライド OnMouseRightButtonDown することができます。ただし、このオーバーライドは、既定の動作の一部であるコントロールのコンテキスト メニュー サービスを Control 無効にします。

適用対象