C#设置子窗体在主窗体中居中显示解决方案
发布时间:2020-12-15 05:58:25 所属栏目:百科 来源:网络整理
导读:问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 复制代码 代码如下: this.StartPosition = Form
问题的开始是由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# – 使用linq或lambda表达式进行对象分组
- es进行聚合操作时提示Fielddata is disabled on text field
- SQLite在android中的使用,以及常用增删查改的命令代码!
- 如何在iOS 10 Simulator上运行我在Xcode 7.3.1中编译的应用
- SQLite3的操作命令
- ios – 如何在UITableViewCell中获取UIButton的indexPath?
- Oracle SQLPlus设置基于变量的环境变量
- Linux 软件看门狗 watchdog使用介绍
- xcode – 是否可以为搜索制作“按字母顺序滚动条 – 相似”
- 序列化 – JSON.NET作为WebAPI 2 OData序列化程序与ODataMe