C#设置子窗体在主窗体中居中显示的实例

  • 文件大小:25 KB
  • 授权方式:免费版
  • 更新时间:2012-12-03
  • 界面语言:简体中文
  • 软件等级:3星级
  • 插件情况:无插件,放心使用!
  • 相关网站:Home Page
  • 演示网址:Demo Url
  • 运行环境:WinXP/Win2003/Vista/Windows7
(3)
(3)

软件简介:

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();

在子窗体中你什么也不需要做,如果还是不明白,请直接下载源代码。

再提供一个布局的其实属性
StartPosition属性有如下选项,分别含义如下:
CenterParent 窗体在其父窗体中居中。
CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。
Manual 窗体的位置由 Location 属性确定。
WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。
WindowsDefaultLocation 窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。

CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

软件标签:居中显示 主窗体 子窗体 
《C#设置子窗体在主窗体中居中显示的实例》的下载地址

 1、我们对所有资源都进行了病毒查杀和插件检查,力争提供绿色下载环境。当然,有些含钩子和补丁的软件包可能会误报病毒,但绝对是安全的,推荐您在解压使用前自行检查。
 2、如果某软件不能下载,请稍后尝试,总是不能下载的请点击上边的报告错误,我们将尽快修正,谢谢合作!
 3、我们提供的程序意在学习和研究,未经作者或本站许可请不要用于商业用途,由此造成的不良后果本站不承担任何责任。
 4、本站部分资源下载后需要解压密码,请双击压缩文件,查看右侧的说明,除此之外所有密码为:liehuo.net
 5、如果本站提供的某软件或资源侵犯了您的利益或版权,请立即告诉我们,我们将在收到反馈后的第一时间确认并处理。
 6、建议使用迅雷下载本站提供的软件,并使用Winrar进行解压缩,如果您感觉本站还不错,请收藏最火软件站