vb.net中的加载窗体半屏幕

vb.net中的加载窗体半屏幕,vb.net,winforms,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 你知道如何将我的窗体设置为当前

我想将窗体停靠到右侧(最大分辨率高度和最大分辨率宽度/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键+右箭头)吗?

你还需要设置宽度和高度,而不仅仅是位置。请确保在重新缩放窗口后执行此操作,窗体的加载事件最好:

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
属性,这样可以避免重新绘制。

请看一看。当我设置Me.FormBorderStyle=Windows.Forms.FormBorderStyle.None时,它的右侧有一些空格。