C# 子窗体在父窗体中显示位置
2016-10-27 14:12
357 查看
C#怎么设置子窗体在主窗体中居中显示
问题的开始是由C#传传看主群里的印醒提出来的,下面我来说一下解决方案吧
其实表面上看是很简单的
开始吧,现在有两个窗体Form1主窗体,Form2子窗体
而且我相信大部分人都会这样写
在子窗体的Load事件中
这样写:
其实这样写是不对的,正确的写法应该是:
为什么是CenterScreen而不是CenterParent呢?
那是因为我们调用的方法的问题,如果你在调用子窗体时是这样写的话
那就得使用CenterScreen而不是CenterParent了,因为在Show的时候窗体是Owner页不是Parent
只要使用ShowDialog()方法时使用CenterParent才有效
大家会说这样就行了吗?其实也不行,我们的代码不应该写在Load事件中,而是在Show方法之前写。
正确的写法应该是这样的:
在子窗体中你什么也不需要做
转载自:http://www.cnblogs.com/sufei/archive/2012/12/03/2799468.html
问题的开始是由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();
在子窗体中你什么也不需要做
转载自:http://www.cnblogs.com/sufei/archive/2012/12/03/2799468.html
相关文章推荐
- C#中如何处理子窗体在父窗体中显示的位置
- MDI子窗体显示在父窗体中央或任意位置
- WPF用ShowDialog()弹出窗体时控制该窗体的显示位置,并传值回父窗体
- Winform窗体显示在父窗体的中间位置几种代码 (转)
- C# 窗体显示自定义位置,任意位置,窗体显示在屏幕下方
- 【转】Winform窗体显示在父窗体的中间位置几种代码
- c# 弹出窗体的显示位置设定
- c#窗体程序之tooltip控件显示鼠标位置
- 窗体最大化的时候,如何指定窗体的位置、大小(C#)
- C#指定窗口显示位置
- C#在MDI父窗体菜单中显示子窗体列表的设置方法
- [转]c# winFrom 使窗体显示SplitContainer或Panel中
- C#中使窗体显示SplitContainer或Panel中。
- VB.NET 子窗体导出Excel进度显示在父窗体ToolStripProgressBar上
- [转]C# winform中不规则窗体制作的解决方案(已经解决24位色以上不能正常显示问题)
- 程序启动时显示Flash窗体(C#)
- 在C#中 从一个picturebox中 按住鼠标左键不放 画一块区域后,另外一个picturebox(在一个winform 窗体上有两个picturebox )上马上把对应的截取图像显示出来
- c#设置窗体在显示器居中显示
- MDI窗体,子窗体在父窗体中最大化,如果子窗体已经打开则显示,不重复打开窗体
- C# winform中不规则窗体制作的解决方案(已经解决24位色以上不能正常显示问题)