当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-16

    本文导语:  问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧 其实表面上看是很简单的 开始吧,现在有两个窗体Form1主窗体,Form2子窗体 而且我相信大部分人都会这样写 在子窗体的Load事件中 这样写 代码如下:...

问题的开始是由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的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C# 设置系统日期格式的方法
  • c#编程之设置DataGrid控件的标题栏
  • C#生成设置范围内的Double类型随机数的方法
  • C#反射技术(读取和设置类的属性)的例子
  • webBrowser代理设置c#代码
  • C# TreeView控件实例代码(重新设置TreeView、删除节点、右键选中等)
  • C#代码设置开机启动示例
  • C#自动设置IE代理服务器(翻墙软件)代码实现
  • C#(WinForm) ComboBox和ListBox添加项及设置默认选择项
  • C#设置本地网络如DNS、网关、子网掩码、IP等等
  • C# web api返回类型设置为json的两种方法
  • C++ Bitsets 成员 count():返回被设置的位的个数
  • 在使用gcc之前,需要先设置环境吗?如何设置?在线等!!!
  • C++ I/O 成员 precision():设置精度
  • 用grub能否设置启动密码?如何设置?
  • C++ Bitsets 成员 any():如果有任何一个位被设置就返回true
  • 在linux服务器上面设置squid后怎么设置可以使客户端能使用QQ?
  • C++ Double Ended Queues(双向队列) 成员 assign():设置双向队列的值
  • 请问设置一个和root权限差不多的用户怎么设置?
  • C++ Vectors 成员 reserve():设置Vector最小的元素容纳数量
  • 用JSP。XML开发网站。请问那种环境设置最好。该如何设置环境
  • C++ Bitsets 成员 set():设置位
  • 环境变量设置设置与显示不一致
  • C++ Bitsets 成员 none():如果没有位被设置则返回true
  • linux下到底如何设置环境变量?在哪设置?详细具体点
  • C++ Strings(字符串) 成员 resize():重新设置字符串的大小
  • 紧急求救各位了:linux下有没有有设置报文最小长度的命令(好像只有设置报文最大长度MTU,通过ifconfig)?
  • Windows7自带防火墙设置:启动,关闭及高级设置
  • 怎么设置在Linux上面设置WEB服务器?请各位高手指教!!!
  • C++ Strings(字符串) 成员 reserve():保留一定容量以容纳字符串(设置capacity值)
  • linux中端口号设置是在哪个配置文件,该如何设置?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3