我有一個WinForm的一些控件。
當光標進入窗體(窗體邊界,這包括窗體的內容)時,我想觸發特定的任務。 當光標離開窗體時,我想觸發另一個任務。事件冒泡 - 兒童控制Mousehover事件
顯然seeting的形式,這些事件將無法工作:(因爲,例如,當我從形式本身轉移到其他控制鼠標離開會引發BW)
this.MouseEnter += (sender, e) =>
{
//do stuff
};
this.MouseLeave += (sender, e) =>
{
//do stuff
};
我試過拉索接口IMessageFilter如出現類似問題,但沒有給我所需的結果! 問題是當鼠標完全離開窗體時發現。
public bool PreFilterMessage(ref Message m)
{
switch (m.Msg)
{
case WM_MOUSEMOVE: //or other messages
bool z = myForm.Bounds.Contains(Cursor.Position); //This didn't help
}
eturn false;
}
在表單內容(當我在控件之間移動時)也有檢測問題。
我錯過了什麼?
更新:我不想使用計時器!
您可能必須使用計時器來確定您是否仍在表單的範圍內。此問題已在[此處](http://stackoverflow.com/q/2015101/699423) – 2011-04-13 22:02:19
之前詢問過我不想使用任何計時器 – 2011-04-13 22:16:17
您應該使用計時器。 – 2011-04-14 00:01:29