c# 设置窗体初始化为居中显示

来源:互联网 发布:红帽linux是什么 编辑:程序博客网 时间:2024/04/19 02:00

修改时间:2015/4/22

  问题的开始是由C#传传看主群里的印醒提出来的,由一位网友提供了解决方案,我在此基础上又进行了某些修改,希望能够帮到大家。

  其实表面上看是很简单的

  开始吧,现在有两个窗体Form1主窗体,Form2子窗体

  而且我相信大部分人都会这样写

  在子窗体的Load事件中

  这样写

  this.StartPosition= FormStartPosition.CenterParent;

  PS://其实这样写是不对的,正确的写法应该是

//在初始化函数中添加该句代码:

This.StartPositon=FormStartPosition.CenterScreen;

//用在界面初始化下面

  为什么是CenterScreen而不是CenterParent呢?

  那是因为我们调用的方法的问题,如果你在调用子窗体时是这样写的话

  Form2 f2 =new Form2();

  f2.MdiParent= this;

  f2.Show();

  那就得使用CenterScreen而不是CenterParent了,因为在Show的时候窗体是Owner页不是Parent

  只要使用ShowDialog()方法时使用CenterParent才有效

  大家会说这样就行了吗?其实也不行,我们的代码不应该写在Load事件中,而是在Show方法之前写。

  正确的写法应该是这样的

  Form2 f2 =new Form2();

  f2.MdiParent= this;

f2.StartPosition= FormStartPosition.CenterScreen;


  f2.Show();

  在子窗体中你什么也不需要做

 

 

0 0