c# 中窗体居中代码怎么写?

为什么我在窗体的Load事件里这样写不行?
private void frm_Load(object sender, EventArgs e)
{
this.StartPosition = FormStartPosition.CenterScreen;
}

Load事件里面不行,这个时候窗体的位置已经定了。
要在初始化函数里面写这句。InitializeComponent()
要么在窗体的构造函数里面,紧接着这个函数调用下面写也是可以的、

如果非要在 Load 事件里面写。那就只能这么写了

this.Location = new point((Screen.Width-this.Width)/2,(Screen.Height-this.Height)/2);
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-08-20
在构造函数里写就可以了。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
StartPosition = FormStartPosition.CenterScreen;
}
}

或者直接在窗体的属性上设置
第2个回答  2008-08-20
写在Load事件里好象不行吧。。。因为在执行Load事件时,窗体已经正在显示了。。。
你最好写在Load前面的某个事件。。。比如直接在设计界面里设定。。。或者在引用窗体时,在窗体Show以前写这个。
相似回答