0
我正在使用WinForms應用程序,並需要記錄MouseDown和MouseUp事件的位置。我的問題是,事件發生在不同的控件上,所以他們的座標系不匹配(我需要的只是拖動量)。我嘗試添加發送控件的位置,但它仍然無法正常工作。如何從MouseDown獲取全球位置?
有沒有簡單的解決方案呢?
我正在使用WinForms應用程序,並需要記錄MouseDown和MouseUp事件的位置。我的問題是,事件發生在不同的控件上,所以他們的座標系不匹配(我需要的只是拖動量)。我嘗試添加發送控件的位置,但它仍然無法正常工作。如何從MouseDown獲取全球位置?
有沒有簡單的解決方案呢?
您可以使用PointToScreen方法。然後,您的鼠標處理程序代碼看起來是這樣的:
private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
Control control = (Control) sender;
Point pointOnScreen = control.PointToScreen(new Point(e.X, e.Y));
...
}
這似乎做我想做的,但我仍然有問題...在代碼的其餘部分:乙 – BCS 2009-06-29 16:08:07