2013-04-27 122 views
0

我需要將輔助表單對齊到其他表單的右邊框。如何獲得NonClient上邊框尺寸?

當我們編譯(從IDE運行時,它不是)運行編譯應用程序啓用AERO,這是發生了什麼:

enter image description here

所以感謝GJKH偉大asnwer這裏:How to determine correctly the Non-Client Area Size for Aero?

...現在我可以輔助形式allign的主要形式, 但二級形式劇照右側不對齊位的像素從到電話號碼:

enter image description here

這是我使用的代碼:

If Debugger.IsAttached Then 
     Form2.Location = New Point(Me.Right, Me.Top) 
Else 
     Form2.Location = New Point((Me.Location.X + (Me.Width + (Me.Width - Me.ClientSize.Width))), Me.Location.Y) 
End If 

回答

1

我把這個事件中Form1中:

Dim frm As New Form2 

    frm.Show() 

    frm.SetDesktopLocation(Me.Width + Me.DesktopLocation.X, Me.DesktopLocation.Y) 

和窗口2一字排開立即向form1的權利與他們的頂部排隊完美。

+0

謝謝,但只適用於調試應用程序,但不適用於從VS IDE外部手動啓動編譯的應用程序(如從Windows資源管理器打開「\ bin」文件夾並雙擊編譯的應用程序),我已經測試它。 – ElektroStudios 2013-04-27 03:17:23

+0

即使在IDE之外,每次都爲我工作。我在兩臺運行兩種不同操作系統(Server 2003和Win7Pro)的不同計算機上對VS2005和VS2010進行了試用。也許更新.Net? – Richard 2013-04-27 12:03:19

+0

我有FW4.5的Win7 x64,你能告訴我你的win7和固件版本的測試結果嗎? – ElektroStudios 2013-04-27 16:38:07