是否可以确定鼠标光标是否正在离开自定义模式 Winforms 对话框(鼠标光标正在进入对话框周围的空间)?该对话框通过 ShowDialog() 显示。Mouse_Leave 不起作用,因为它在离开表单的可见部分时触发。因此,当在表单上输入控件时它也会触发!
问问题
408 次
2 回答
3
如果表单具有停靠填充客户区的面板,则表单的 MouseLeave 事件不会总是触发,因此 Timer 是一种相当可靠的检查方法:
System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
public Form1() {
InitializeComponent();
timer.Tick += timer_Tick;
timer.Enabled = true;
}
void timer_Tick(object sender, EventArgs e) {
if (this.Bounds.Contains(MousePosition)) {
this.Text = "Inside";
} else {
this.Text = "Outside";
}
}
于 2013-10-15T12:59:54.217 回答
0
WinForm 对话框是 Form 所以答案是肯定的。您需要连接适当的事件来注册离开和进入对话框,就像在任何表单上一样。
于 2013-10-15T12:51:07.967 回答