c#.net Windows 表单位置
c#.net Windows Form Location
您好,我无法正常工作,表格每次都在屏幕上的不同位置启动,我做错了什么?我在表单加载时设置位置点。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Report_Maintenance
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
frm1.StartPosition = FormStartPosition.Manual;
frm1.Left = 500;
frm1.Top = 500;
}
}
}
当Form1_Load
方法运行s时,表单已经创建。当您 运行 Form1 frm1 = new Form1();
时,这会创建另一个永远不会显示的表单(因为您永远不会调用 frm1.Show()
或 frm1.ShowDialog()
)。相反,请使用当前表单。可以通过关键字this
.
来引用
此外,请尽快执行此操作,即在构造函数中,但要在表单初始化之后,即在 InitializeComponent();
之后。 InitializeComponent
设置所有表单属性并创建您在表单设计器中定义的所有控件。
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
this.Left = 500;
this.Top = 500;
}
由于这些成员在 class 中自动识别,您也可以省略 this
关键字。
public Form1()
{
InitializeComponent();
StartPosition = FormStartPosition.Manual;
Left = 500;
Top = 500;
}
请注意,仅供说明之用:您可以打开同一表单的多个实例。这将在不同的屏幕位置打开 3 个实例:
for (int i = 0; i < 3; i++) {
Form1 frm1 = new Form1();
frm1.StartPosition = FormStartPosition.Manual;
frm1.Left = 200 + i * 100;
frm1.Top = 400 + i * 50;
frm1.Text = $"This is instance #{i} of Form1"; // Set the form caption.
frm1.Show();
}
另请参阅:this (C# Reference)
您好,我无法正常工作,表格每次都在屏幕上的不同位置启动,我做错了什么?我在表单加载时设置位置点。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Report_Maintenance
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
frm1.StartPosition = FormStartPosition.Manual;
frm1.Left = 500;
frm1.Top = 500;
}
}
}
当Form1_Load
方法运行s时,表单已经创建。当您 运行 Form1 frm1 = new Form1();
时,这会创建另一个永远不会显示的表单(因为您永远不会调用 frm1.Show()
或 frm1.ShowDialog()
)。相反,请使用当前表单。可以通过关键字this
.
此外,请尽快执行此操作,即在构造函数中,但要在表单初始化之后,即在 InitializeComponent();
之后。 InitializeComponent
设置所有表单属性并创建您在表单设计器中定义的所有控件。
public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
this.Left = 500;
this.Top = 500;
}
由于这些成员在 class 中自动识别,您也可以省略 this
关键字。
public Form1()
{
InitializeComponent();
StartPosition = FormStartPosition.Manual;
Left = 500;
Top = 500;
}
请注意,仅供说明之用:您可以打开同一表单的多个实例。这将在不同的屏幕位置打开 3 个实例:
for (int i = 0; i < 3; i++) {
Form1 frm1 = new Form1();
frm1.StartPosition = FormStartPosition.Manual;
frm1.Left = 200 + i * 100;
frm1.Top = 400 + i * 50;
frm1.Text = $"This is instance #{i} of Form1"; // Set the form caption.
frm1.Show();
}
另请参阅:this (C# Reference)