如何在右上角设置winform开始位置?

时间:2011-10-25 15:56:53

标签: .net vb.net winforms startup

如何在右上角设置winform开始位置?我的意思是当用户点击(开始)我的winform应用程序时,winform将出现在屏幕的右上角?

8 个答案:

答案 0 :(得分:14)

使用Load事件更改位置,在应用用户首选项和自动缩放后,您最早知道窗口的实际大小:

Public Class Form1
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        Dim scr = Screen.FromPoint(Me.Location)
        Me.Location = New Point(scr.WorkingArea.Right - Me.Width, scr.WorkingArea.Top)
        MyBase.OnLoad(e)
    End Sub
End Class

答案 1 :(得分:2)

您可以使用Form.Location将位置设置为表示表单左上角的Point。

因此,如果将其设置为“Screenwidth - Formwidth”,则可以将表单放在右上角。 要获得屏幕宽度,您可以使用Screen.Bounds属性。

答案 2 :(得分:1)

frm.Designer.cs 文件

中添加代码行
this.Location = new Point(0,0);

注意: 检查位置是否已在frm.resX文件中设置,您可以在那里进行更改。 或者从 .resX 文件中删除并在 frm.Designer.cs

中添加以上行

任何方式都可以。

答案 3 :(得分:0)

只需将此添加到您的OnLoad事件

$articles = User::find(Auth::user()->id)->articles()->paginate(20);

答案 4 :(得分:0)

它适用于你:

private void Form1_Load(object sender, EventArgs e)
        {
            this.Location = new Point(Screen.FromPoint(this.Location).WorkingArea.Right - this.Width, 0);
        }

答案 5 :(得分:0)

在表格加载中,甚至将窗口位置发送到y = 0和x =屏幕宽度 - 表格宽度。

e.g。

private void Form1_Load(object sender, EventArgs e)
{
  this.Location = new Point( Screen.PrimaryScreen.Bounds.Right - this.Width,0);
}

您也可以使用“Screen.GetBounds(this).Right”。这将为您提供包含表单的屏幕坐标。

答案 6 :(得分:0)

您可以在表单的OnLoad事件中使用它

 private void dlgTTMSContract_Load(object sender, EventArgs e) {
   int screenWidth = Screen.PrimaryScreen.Bounds.Size.Width;
   int formWidth = this.Width;
   this.Location = new Point(screenWidth - formWidth, 0);
 }

答案 7 :(得分:0)

在主显示器上显示是否有多显示器可用于多显示器设置

从右上方开始

Public Class Form1
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        Dim scr = Screen.AllScreens(0)
        Me.Location = New Point(scr.WorkingArea.Right - Me.Width, scr.WorkingArea.Top)
        MyBase.OnLoad(e)
    End Sub
End Class

从左上角开始

Public Class Form1
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        Dim scr = Screen.AllScreens(0)
        Me.Location = New Point(scr.WorkingArea.Right - Me.Width - scr.WorkingArea.Right + Me.Width, scr.WorkingArea.Top)
        MyBase.OnLoad(e)
    End Sub
End Class