Control.MouseCaptureChanged イベント


コントロールがマウスのキャプチャを失うと発生します。Occurs when the control loses mouse capture.

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



次のコード例は、 MouseCaptureChanged コントロールのイベントを示して Button います。The following code example demonstrates the MouseCaptureChanged event for a Button control.

private void button1_MouseDown(object sender, MouseEventArgs e)

private void button1_MouseUp(object sender, MouseEventArgs e)

private void button1_MouseCaptureChanged(object sender, EventArgs e)
Private Sub Button1_MouseDown(ByVal sender As System.Object, _
ByVal e As MouseEventArgs) Handles Button1.MouseDown
End Sub

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

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

この例をテストするには、F5 キーを押してデバッガーで実行します。To test this example, run it in the debugger by pressing F5. イベントが発生したタイミングを確認できるように、Visual Studio の [ 出力 ] ウィンドウを開きます。Open the Output window in Visual Studio so that you can see when events are raised. をクリックする Button と、次の出力が表示されます。Click the Button and notice the following output.




次に、コントロールのマウスの左ボタンをクリックしたままにし Button ます。Now, click and hold the left mouse button on the Button control. マウスをクリックしたまま、ALT キーを押しながら TAB キーを押して別のプログラムに切り替えます。While still clicking the mouse, press ALT+TAB to switch to another program. MouseCaptureChangedイベントが発生して、このシナリオを処理できる可能性があることに注意してください。Notice that the MouseCaptureChanged event is raised enabling you to potentially handle this scenario. アクションによっては、 MouseUp イベントが発生しないことがあります。Depending on your actions, the MouseUp event might not be raised. Windows キーまたは CTRL + ESC キーを使用して、このテストを試すこともできます。You can also try this test with the Windows key or CTRL+ESC.




まれなシナリオでは、予期しない入力の検出が必要になることがあります。In rare scenarios, you might need to detect unexpected input. たとえば、次のようなシナリオを考えてみます。For example, consider the following scenarios.

  • ユーザーは、マウス操作中に、Windows キーまたは CTRL + ESC キーを押して [スタート] メニューを開きます。During a mouse operation, the user opens the Start menu by pressing the Windows key or CTRL+ESC.

  • マウス操作中、ユーザーは ALT + TAB キーを押して別のプログラムに切り替えます。During a mouse operation, the user switches to another program by pressing ALT+TAB.

  • マウス操作中に、別のプログラムによって、現在のアプリケーションからフォーカスを取得するウィンドウまたはメッセージボックスが表示されます。During a mouse operation, another program displays a window or a message box that takes focus away from the current application.

マウス操作には、フォームまたはコントロールへのマウスのクリックと保持、またはマウスのドラッグ操作を含めることができます。Mouse operations can include clicking and holding the mouse on a form or a control, or performing a mouse drag operation. フォームまたはコントロールが、これらおよび関連する予期しないシナリオでマウスキャプチャを失ったことを検出する必要がある場合は、イベントを使用でき MouseCaptureChanged ます。If you have to detect when a form or a control loses mouse capture for these and related unexpected scenarios, you can use the MouseCaptureChanged event.