0
我有這個問題,當鼠標按鈕被按下時,名爲「MouseEnter」的事件不會觸發。我怎樣才能解決它?即使即使鼠標按鈕被按下,C#觸發MouseEnter
我有這個問題,當鼠標按鈕被按下時,名爲「MouseEnter」的事件不會觸發。我怎樣才能解決它?即使即使鼠標按鈕被按下,C#觸發MouseEnter
這是設計。你可以解決它通過使用,比如說,MouseMove事件:
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point pt = TargetControl.PointToClient(Cursor.Position);
Rectangle rc = TargetControl.ClientRectangle;
if (rc.Contains(pt))
{
// do what would be done on MouseEnter
}
}
}
這是不理想的,雖然 - 如果鼠標按鈕被按下當鼠標懸停在其他控制形式上,那麼它不」 t出現在按下按鈕的MouseMove事件中(如@Hans指出的,另一個控件'捕捉'MouseDown)。如果這是一個問題,那麼在MouseMove中結合命中測試,同時分別跟蹤表單上的MouseDown和MouseUp應該可以工作。
也不會有任何MouseMove消息。 – 2010-08-11 12:58:58
@Hans - 是的,我測試過它的工作.. – stuartd 2010-08-11 14:31:57
點擊一個按鈕控件,按住鼠標按鈕,將其移到窗體上,看看我的意思。 – 2010-08-11 14:44:17