2012-02-02 30 views
1

我想我在設置或獲取表單的Me.Top屬性時發現了一個錯誤。 我使用VS2010 VB.NET .NET框架4.0這是與Me.Top的.NET Framework錯誤嗎?

我的顯示器設置是有點不同尋常:

  1. 小學1600×900

  2. 1680 X 1050

  3. 1680 X 1050

enter image description here

在監視器編號1上,一切都按預期工作。在顯示器2或3上,如果我設置了Me.Top = 0,則表格會從屏幕頂部出現150像素,因此它認爲它正在使用主顯示器的分辨率。

我必須設置Me.Top = -150才能將窗體置於屏幕頂部。

有沒有人見過此/知道的修復或解決方法?

回答

5

這不是一個錯誤。座標系與主屏幕相關。 在您的屏幕布局中,屏幕2和3的上限比屏幕1(主屏幕)高。

如果要將窗口布局到屏幕的上限,應該使用Screen類。

+1

因此,如果我需要調整自己的價值,那麼我必須手動計算出屏幕是底部還是頂部對齊才能解決問題? – 2012-02-02 12:22:43

+4

看起來你可以使用'Screen.FromControl(Me).WorkingArea.Top' – 2012-02-02 12:27:08

+0

@Matt:的確如此。 – TcKs 2012-02-02 12:30:55