Control.MouseCaptureChanged Zdarzenie

Definicja

Występuje, gdy kontrolka utraci przechwytywanie myszy.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 

Typ zdarzenia

EventHandler

Przykłady

Poniższy przykład kodu demonstruje MouseCaptureChanged zdarzenie dla Button kontrolki.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

Aby przetestować ten przykład, uruchom go w debugerze, naciskając klawisz F5.To test this example, run it in the debugger by pressing F5. Otwórz okno danych wyjściowych w programie Visual Studio, aby zobaczyć, kiedy są zgłaszane zdarzenia.Open the Output window in Visual Studio so that you can see when events are raised. Kliknij Button i zwróć uwagę na następujące dane wyjściowe.Click the Button and notice the following output.

button1_MouseDown

button1_MouseUp

button1_MouseCaptureChanged

Teraz kliknij i przytrzymaj lewy przycisk myszy na Button kontrolce.Now, click and hold the left mouse button on the Button control. Mimo że klikasz myszą, naciśnij klawisze ALT + TAB, aby przełączyć się do innego programu.While still clicking the mouse, press ALT+TAB to switch to another program. Zwróć uwagę na to, że MouseCaptureChanged zdarzenie jest zgłaszane, umożliwiając potencjalnie obsługę tego scenariusza.Notice that the MouseCaptureChanged event is raised enabling you to potentially handle this scenario. W zależności od akcji MouseUp zdarzenie może nie zostać zgłoszone.Depending on your actions, the MouseUp event might not be raised. Możesz również wypróbować ten test przy użyciu klawisza systemu Windows lub CTRL + ESC.You can also try this test with the Windows key or CTRL+ESC.

button1_MouseDown

button1_MouseCaptureChanged

Uwagi

W rzadkich scenariuszach może być konieczne wykrycie nieoczekiwanego danych wejściowych.In rare scenarios, you might need to detect unexpected input. Rozważmy na przykład następujące scenariusze.For example, consider the following scenarios.

  • Podczas operacji myszy użytkownik otwiera menu Start, naciskając klawisz Windows lub CTRL + ESC.During a mouse operation, the user opens the Start menu by pressing the Windows key or CTRL+ESC.

  • Podczas operacji myszy użytkownik przechodzi do innego programu, naciskając klawisze ALT + TAB.During a mouse operation, the user switches to another program by pressing ALT+TAB.

  • Podczas operacji myszy inny program wyświetla okno lub komunikat, który ma fokus od bieżącej aplikacji.During a mouse operation, another program displays a window or a message box that takes focus away from the current application.

Operacje myszy mogą obejmować kliknięcie i przytrzymanie myszy na formularzu lub kontrolce lub wykonanie operacji przeciągania myszą.Mouse operations can include clicking and holding the mouse on a form or a control, or performing a mouse drag operation. Jeśli konieczne jest wykrycie, gdy formularz lub formant utraci przechwycenie myszy dla tych i powiązanych nieoczekiwanych scenariuszy, można użyć MouseCaptureChanged zdarzenia.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.

Dotyczy