Control.MouseCaptureChanged Control.MouseCaptureChanged Control.MouseCaptureChanged Control.MouseCaptureChanged Event


コントロールがマウスのキャプチャを失うと発生します。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.