Control.MouseCaptureChanged 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当控件失去鼠标捕获时发生。
public:
event EventHandler ^ MouseCaptureChanged;
public event EventHandler MouseCaptureChanged;
public event EventHandler? MouseCaptureChanged;
member this.MouseCaptureChanged : EventHandler
Public Custom Event MouseCaptureChanged As EventHandler
事件类型
示例
下面的代码示例演示 MouseCaptureChanged 控件的 Button 事件。
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 在调试器中运行它。 在 Visual Studio 中打开 “输出 ”窗口,以便查看何时引发事件。 单击 并 Button 注意以下输出。
button1_MouseDown
button1_MouseUp
button1_MouseCaptureChanged
现在,单击并按住控件上的 Button 鼠标左键。 在仍单击鼠标的同时,按 Alt+Tab 切换到另一个程序。 请注意,引发 MouseCaptureChanged 事件,使你能够处理此方案。 根据操作, MouseUp 可能不会引发事件。 还可以使用 Windows 键或 Ctrl+ESC 尝试此测试。
button1_MouseDown
button1_MouseCaptureChanged
注解
在极少数情况下,可能需要检测意外输入。 例如,请考虑以下方案。
在鼠标操作期间,用户通过按 Windows 键或 Ctrl+ESC 打开“开始”菜单。
在鼠标操作期间,用户通过按 Alt+TAB 切换到另一个程序。
在鼠标操作期间,另一个程序显示一个窗口或一个消息框,该窗口或消息框将焦点从当前应用程序移开。
鼠标操作可以包括单击并按住窗体或控件上的鼠标,或执行鼠标拖动操作。 如果必须检测窗体或控件何时在这些和相关意外情况下丢失鼠标捕获,则可以使用 MouseCaptureChanged 事件。