在vb.net中加载半屏

时间:2013-07-20 16:00:50

标签: vb.net winforms

我想将表单停靠在右侧(最大分辨率高度最大分辨率宽度/ 2 )。我使用的是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-key +右箭头)?

1 个答案:

答案 0 :(得分: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属性,这样可以避免重新绘制。