知识大全 设置C#子窗体在主窗体中居中显示

Posted 属性

篇首语:勤勉而顽强地钻研,永远可以使你百尺竿头更进一步。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 设置C#子窗体在主窗体中居中显示相关的知识,希望对你有一定的参考价值。

设置C#子窗体在主窗体中居中显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

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

  其实表面上看是很简单的

  开始吧 现在有两个窗体Form 主窗体 Form 子窗体

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

  在子窗体的Load事件中

  这样写

  this StartPosition = FormStartPosition CenterParent;

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

  this StartPosition = FormStartPosition CenterScreen;

  为什么是CenterScreen而不是CenterParent呢?

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

  Form f = new Form ();

  f MdiParent = this;

  f Show();

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

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

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

  正确的写法应该是这样的

  Form f = new Form ();

  f MdiParent = this;

  f StartPosition = FormStartPosition CenterScreen;

  f Show();

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

  下面是我提供的一个例子 是源代码 大家如果还是感觉不太清楚的话可以下载例子看一下

>

  一个布局的其实属性

  StartPosition属性有如下选项 分别含义如下

  CenterParent 窗体在其父窗体中居中

  CenterScreen 窗体在当前显示窗口中居中 其尺寸在窗体大小中指定

  Manual 窗体的位置由 Location 属性确定

  WindowsDefaultBounds 窗体定位在 Windows 默认位置 其边界也由 Windows 默认决定

  WindowsDefaultLocation 窗体定位在 Windows 默认位置 其尺寸在窗体大小中指定

cha138/Article/program/net/201311/14249

相关参考