2009-06-29 91 views
0

我正在使用WinForms應用程序,並需要記錄MouseDown和MouseUp事件的位置。我的問題是,事件發生在不同的控件上,所以他們的座標系不匹配(我需要的只是拖動量)。我嘗試添加發送控件的位置,但它仍然無法正常工作。如何從MouseDown獲取全球位置?

有沒有簡單的解決方案呢?

回答

4

您可以使用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)); 

    ... 
} 
+0

這似乎做我想做的,但我仍然有問題...在代碼的其餘部分:乙 – BCS 2009-06-29 16:08:07