Control.MouseCaptureChanged イベント

定義

コントロールがマウス キャプチャを失ったときに発生します。

public:
 event EventHandler ^ MouseCaptureChanged;
public event EventHandler MouseCaptureChanged;
member this.MouseCaptureChanged : EventHandler 
Public Custom Event MouseCaptureChanged As EventHandler 

イベントの種類

次のコード例は、Button コントロールのMouseCaptureChanged イベントを示しています。

private void button1_MouseDown(object sender, MouseEventArgs e)
{
    System.Diagnostics.Debug.WriteLine("button1_MouseDown");
}

private void button1_MouseUp(object sender, MouseEventArgs e)
{
    System.Diagnostics.Debug.WriteLine("button1_MouseUp");
}

private void button1_MouseCaptureChanged(object sender, EventArgs e)
{
    System.Diagnostics.Debug.WriteLine("button1_MouseCaptureChanged");
}
Private Sub Button1_MouseDown(ByVal sender As System.Object, _
ByVal e As MouseEventArgs) Handles Button1.MouseDown
    Debug.WriteLine("Button1_MouseDown")
End Sub

Private Sub Button1_MouseUp(ByVal sender As System.Object, _
ByVal e As MouseEventArgs) Handles Button1.MouseUp
    Debug.WriteLine("Button1_MouseUp")
End Sub

Private Sub Button1_MouseCaptureChanged(ByVal sender As System.Object, _
ByVal e As EventArgs) Handles Button1.MouseCaptureChanged
    Debug.WriteLine("Button1_MouseCaptureChanged")
End Sub

この例をテストするには、F5 キーを押してデバッガーで実行します。 Visual Studioで Output ウィンドウを開き、イベントが発生したタイミングを確認できるようにします。 Buttonをクリックすると、次の出力が表示されます。

button1_MouseDown

button1_MouseUp

button1_MouseCaptureChanged

次に、 Button コントロールのマウスの左ボタンをクリックしたままにします。 マウスをクリックしたまま、Alt キーを押しながら Tab キーを押して別のプログラムに切り替えます。 MouseCaptureChanged イベントが発生し、このシナリオを処理できる可能性があることに注意してください。 アクションによっては、 MouseUp イベントが発生しない場合があります。 Windows キーまたは Ctrl + Esc キーを使用して、このテストを試すこともできます。

button1_MouseDown

button1_MouseCaptureChanged

注釈

まれなシナリオでは、予期しない入力を検出することが必要になる場合があります。 たとえば、次のシナリオを考えてみましょう。

  • マウス操作中、ユーザーは Windows キーまたは Ctrl + Esc キーを押してスタート メニューを開きます。

  • マウス操作中に、ユーザーは Alt キーを押しながら Tab キーを押して別のプログラムに切り替えます。

  • マウス操作中に、現在のアプリケーションからフォーカスを離すウィンドウまたはメッセージ ボックスが別のプログラムに表示されます。

マウス操作には、フォームまたはコントロールでマウスをクリックしたままにしたり、マウスドラッグ操作を実行したりできます。 これらの予期しないシナリオや関連するシナリオでフォームまたはコントロールがマウス キャプチャを失ったときに検出する必要がある場合は、 MouseCaptureChanged イベントを使用できます。

適用対象