Control.MouseCaptureChanged Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Occurs when the control loses mouse capture.
public:
event EventHandler ^ MouseCaptureChanged;
public event EventHandler MouseCaptureChanged;
public event EventHandler? MouseCaptureChanged;
member this.MouseCaptureChanged : EventHandler
Public Custom Event MouseCaptureChanged As EventHandler
Event Type
Examples
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
To test this example, run it in the debugger by pressing F5. Open the Output window in Visual Studio so that you can see when events are raised. Click the Button and notice the following output.
button1_MouseDown
button1_MouseUp
button1_MouseCaptureChanged
Now, click and hold the left mouse button on the Button control. While still clicking the mouse, press ALT+TAB to switch to another program. Notice that the MouseCaptureChanged event is raised enabling you to potentially handle this scenario. Depending on your actions, the MouseUp event might not be raised. You can also try this test with the Windows key or CTRL+ESC.
button1_MouseDown
button1_MouseCaptureChanged
Remarks
In rare scenarios, you might need to detect unexpected input. For example, consider the following scenarios.
During a mouse operation, the user opens the Start menu by pressing the Windows key or CTRL+ESC.
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. 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.