源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#设置子窗体在主窗体中居中显示解决方案

  • 时间:2020-01-11 01:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#设置子窗体在主窗体中居中显示解决方案
问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写
[u]复制代码[/u] 代码如下:
this.StartPosition = FormStartPosition.CenterParent;
其实这样写是不对的,正确的写法应该是
[u]复制代码[/u] 代码如下:
this.StartPosition = FormStartPosition.CenterScreen;
为什么是CenterScreen而不是CenterParent呢? 那是因为我们调用的方法的问题,如果你在调用子窗体时是这样写的话
[u]复制代码[/u] 代码如下:
Form2 f2 = new Form2(); f2.MdiParent= this; f2.Show();
那就得使用CenterScreen而不是CenterParent了,因为在Show的时候窗体是Owner页不是Parent 只要使用ShowDialog()方法时使用CenterParent才有效 大家会说这样就行了吗?其实也不行,我们的代码不应该写在Load事件中,而是在Show方法之前写。 正确的写法应该是这样的
[u]复制代码[/u] 代码如下:
Form2 f2 = new Form2(); f2.MdiParent= this; f2.StartPosition = FormStartPosition.CenterScreen; f2.Show();
在子窗体中你什么也不需要做 [img]http://files.jb51.net/file_images/article/201212/2012120314334431.png[/img] 再提供一个布局的其实属性 StartPosition属性有如下选项,分别含义如下: CenterParent 窗体在其父窗体中居中。 CenterScreen 窗体在当前显示窗口中居中,其尺寸在窗体大小中指定。 Manual 窗体的位置由 Location 属性确定。 WindowsDefaultBounds 窗体定位在 Windows 默认位置,其边界也由 Windows 默认决定。 WindowsDefaultLocation窗体定位在 Windows 默认位置,其尺寸在窗体大小中指定。 CenterScreen的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部