2013-07-20 2 views
1

Я хотел бы состыковать свою форму справа (максимальная высота разрешения и максимальная ширина разрешения/2). Я использую VB.NET и мой код до сих пор:load form half screen in 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 

Любые идеи, как сделать свою форму в два раза большим, как мой текущий размер и расположить его в правой части рабочего стола (как при использовании окна -key + стрелка вправо)?

+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.Некоторые пробелы с правой стороны. –