切实保证窗体出现在屏幕中央

我通常喜欢把winform的StartPosition属性设为CenterScreen,觉得运行起来比较好看,也不用费心自己去设定窗口的初始位置。

刚刚做一个Form,需要根据数据库查询的结果动态生成许多Label,把它们按行列排列,同时要相应调整GroupBox、按钮以及窗体的位置和大小,这一切都写在了Form_Load里面。

结果运行时发现,从窗体的左上角的位置来看,程序是按照设计时窗体的大小来使窗体出现在屏幕中心的,但结果是,由于窗体的大小在加载时发生改变,使得窗体实际上是偏离中心位置的。

这种情况下,无需自己动手写代码调整窗体位置,只需把上面那些操作挪到窗体的构造函数里面就行了,当然是放在InitializeComponent()后面。也就是说,让窗体加载之前把大小调整好,否则等到Form_Load里面再调整就已经晚了。

另外顺便说一下,在运行时设定控件位置时,一开始以为直接设定控件的Location.X和Location.Y属性,但是会提示错误:表达式是一个值,因此不能作为赋值目标。后来看到Location是System.Drawing.Point类型,于是直接new一个Point(x,y)的实例,赋给Location属性即可。如:

lblCaption.Location=new System.Drawing.Point(10,10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值