我想将表单停靠在右侧(最大分辨率高度和最大分辨率宽度/ 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 +右箭头)?
答案 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
属性,这样可以避免重新绘制。