マウス カーソルがカスタム モーダル Winforms ダイアログを離れている(マウス カーソルがダイアログの周囲のスペースに入っている) かどうかを判断することは可能ですか? ダイアログは ShowDialog() を介して表示されます。Mouse_Leave は、フォームの可視部分を離れるときに起動するため、機能しません。したがって、フォーム上のコントロールに入るときにも発生します!
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 に答える