【问题标题】:Set form location c#设置表单位置 c#
【发布时间】:2014-07-23 21:01:02
【问题描述】:

我想知道如何设置我的表单位置。我尝试过以下操作:

this.Location = Point; 

或:

Form2.Left = Point.X;
Form2.Top = Point.Y;
Form2.ShowDialog();

这是行不通的。我做错了什么?

【问题讨论】:

  • 什么不起作用?您的表单位置不正确或表单根本没有显示在屏幕上?

标签: c# forms location


【解决方案1】:
private void button1_Click(object sender, EventArgs e)
{
    var form2 = new Form();

    form2.StartPosition = FormStartPosition.Manual;
    form2.Left = 500;
    form2.Top  = 500;
    form2.ShowDialog();
}

【讨论】:

  • 这比使用new Point(x,y) 更好,因为不需要添加引用哟System.Drawing.dll
  • 如果未将“StartPosition”设置为手动,Microsoft 会很好地抛出一些通知异常(例如“threadAbort”异常)。这很烦人,你不知道为什么你的位置没有设置
【解决方案2】:

试试这个:

private void Form_Load(object sender, EventArgs e)
{
    this.SetDesktopLocation(x, y);
}

【讨论】:

    【解决方案3】:

    你的第一种方法无论如何都有效。

    this.Location = new Point(/*XPosition*/, /*YPosition*/);
    

    【讨论】:

      【解决方案4】:

      要以编程方式设置位置,您应该将 StartPosition 设置为 FormStartPosition.Manual,如下所示:

      Form myform = new Form()
      {
           Size = new Size(200,200),
           StartPosition = FormStartPosition.Manual,
           Location = new Point(10,10) // or Cursor.Position if you want to set it to cursor position
      }
      

      【讨论】:

        【解决方案5】:

        你可以这样设置:

        form1.Location = new Point(4, 370);
        

        【讨论】:

          【解决方案6】:
          // Point(specify location of x, specify location of y)
          // with object initializer
          var frmUsers = new FrmUsers
          {
              StartPosition = FormStartPosition.Manual, 
              Location = new Point(0, 0)
          };
          
          // or
          
          var frmUsers = new FrmUsers();
          frmUsers.StartPosition = FormStartPosition.Manual;
          frmUsers.Location = new Point(0, 0);
          

          【讨论】:

          • 请记住,仅包含代码的答案不被认为是完整的
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-10
          • 2016-01-27
          • 2015-12-11
          • 1970-01-01
          • 1970-01-01
          • 2016-10-31
          • 1970-01-01
          相关资源
          最近更新 更多