您的位置:首页 > 编程语言 > C#

C# 子窗体在父窗体中显示位置

2016-10-27 14:12 357 查看
C#怎么设置子窗体在主窗体中居中显示

问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧

其实表面上看是很简单的

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

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

在子窗体的Load事件中

这样写:

this.StartPosition = FormStartPosition.CenterParent;


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

this.StartPosition = 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();


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

转载自:http://www.cnblogs.com/sufei/archive/2012/12/03/2799468.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: