博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接下来将介绍C#如何设置子窗体在主窗体中居中显示,本文提供详细的操作步骤,需要的朋友可以参考下...
阅读量:6326 次
发布时间:2019-06-22

本文共 984 字,大约阅读时间需要 3 分钟。

接下来将介绍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的意思并不是屏幕居中(是相对的),它是在"当前显示窗口"中居中。

转载地址:http://yfgaa.baihongyu.com/

你可能感兴趣的文章
BASE64编码解码
查看>>
Flask总结
查看>>
获得表字段名称和数据类型
查看>>
关键帧动画实现圆弧动画
查看>>
openwrt 按下回车才能显示图标信息
查看>>
codeforces 600A Extract Numbers
查看>>
LinearLayout控件
查看>>
tomcat 配置项目
查看>>
事件类型
查看>>
7、RabbitMQ-主题模式
查看>>
MVC & MVP 模式
查看>>
HDU 5340 Three Palindromes(Manacher)
查看>>
转载利用线性渐变实现晴天、多云特效
查看>>
软件架构自学笔记——质量属性之淘宝网的常见属性场景
查看>>
[转载] 七龙珠第一部——第123话 如意棒的秘密
查看>>
ts 与 C#的 一个差异的地方
查看>>
django模板-自定义标签、过滤器
查看>>
Dreamweaver使用过程的小技巧
查看>>
2017年12月13日高级软件测试技术实践作业3
查看>>
session和cookie的介绍
查看>>