3
我有Windows窗體應用程序,我需要在窗口外捕獲鼠標移動。在我的窗口類我的簡化代碼:WinForms鼠標捕獲
private void ButtonOnClick(object sender, EventArgs e)
{
Capture = true;
MouseMove += OnMouseMove;
}
private void OnMouseMove(object sender, MouseEventArgs e)
{
Console.Out.Write("!");
}
正如你看到的,當用戶按下一個按鈕,我的程序應該開始跟蹤鼠標(哪怕是窗口外 - 這是一個關鍵featue!)但是我得到非常奇怪的行爲。如果我將鼠標移動到窗口內,一切都很好,!被寫入控制檯。但是當我將鼠標移動到窗口之外時,只有OnMouseMove被調用一次(並且該點真的在外面)。然後,如果我將鼠標移到窗外的任何位置,它就不會再被調用。如果我把鼠標還給窗戶,一切都是完美的。走開 - 1條消息,在窗口中移動 - 確定。
任何人都可以幫忙嗎?
謝謝!剛剛研究過來自CodeProject的解決方案,它完美的工作! – levanovd 2010-05-24 10:26:27