2013-07-20 27 views
1

我想停靠我的表格(最大分辨率高度最大分辨率寬度/ 2)。我使用VB.NET和到目前爲止我的代碼是:加載vb.net中的半屏

Dim scr As Screen = Screen.FromControl(Me) 
    Me.Top = scr.WorkingArea.Top + scr.WorkingArea.Height - Me.Height 
    Me.Left = scr.WorkingArea.Left + scr.WorkingArea.Width - Me.Width 

任何想法如何讓我的形式一半大我當前的分辨率和它在桌面上(的右側位置在使用Windows,像鍵+右箭頭)?

+0

看看[DockPanel Suite](http://sourceforge.net/projects/dockpanelsuite/)。 – Neolisk

回答

2

您還需要設置寬度和高度,而不僅僅是位置。確保窗口已重新調整後,要做到這一點,窗體的Load事件是最好的:

Public Class Form1 
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 
     Dim work = Screen.FromControl(Me).WorkingArea 
     Me.Top = work.Top 
     Me.Left = work.Right - work.Width/2 
     Me.Width = work.Width/2 
     Me.Height = work.Height 
     MyBase.OnLoad(e) 
    End Sub 
End Class 

如果在窗口之後做到這一點已經顯示則青睞,而不是分配Bounds屬性,就會避免重繪。

+0

當我設置Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None它有一些空間在右側。 –