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