2016-12-22 125 views
0

在C#中,如何獲取對象在窗體中相對於主屏幕的位置?如何獲得相對於主屏幕的對象位置

我搜索了一點,但我真的很困惑。

我得到的形式,地點和對象的位置和總結,但它是不正確的:

X = this.Location.X + pictureBox1.Location.X; 
Y = this.Location.Y + pictureBox1.Location.Y; 

我也試過這樣:

mypoint = pictureBox1.PointToScreen(Point.Empty); 

這:

mypoint =new Point(this.Location.X + pictureBox1.Location.X - Screen.PrimaryScreen.Bounds.Left, 
      this.Location.Y + pictureBox1.Location.Y - Screen.PrimaryScreen.Bounds.Top); 

我想要pictruebox1位置與顯示點(0,0)相關。 enter image description here

+2

pictureBox1.PointToScreen(Point.Empty);這應該是一個正確的解決方案。爲什麼你知道它返回不正確的結果? –

+0

是的你是對的,我的錯!我不知道爲什麼,但我使用表單位置更改事件處理程序,它給了我啓動時錯誤的位置,我使用表單加載,它工作正常。謝謝! – Arta

回答

1

pictureBox1.PointToScreen(Point.Empty);是正確的解決方案。你從位置改變的事件處理程序中弄錯了,也許它在表單完全加載之前被提出。

+0

是的你是對的。我用另一種解決方案。 – Arta

相關問題