Control.MouseCaptureChanged イベント

定義

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

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

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

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 キーを押してデバッガーで実行します。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.

button1_MouseDown

button1_MouseUp

button1_MouseCaptureChanged

次に、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.

button1_MouseDown

button1_MouseCaptureChanged

注釈

まれなシナリオでは、予期しない入力の検出が必要になることがあります。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.

適用対象