为什么在窗体里的Form1_Load里设置this.Location; 运行时窗体就会变大。

okgogo2000 2012-09-13 08:56:41
这个窗体本来就很小,开始调试时也会比设计大, 通过将MinimumSize属性设置为(1, 1). 运行时会有根设计视图中窗体一样的大小。


后来希望运行时将窗体显示在指定靠屏幕边缘的位置。所以在Form1_Load函数中增加了位置参数:


this.Location = new Point(this.Width, (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Height)/2);
this.StartPosition = FormStartPosition.Manual;



但在这里设置后, 运行时窗体又比设计视图中的大了。 上面这两句话在放在构造函数内表现也是一样。

有没有办法保持设计视图的尺寸,有能使窗体显示在制定位置? 谢谢
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
okgogo2000 2012-09-13
  • 打赏
  • 举报
回复
谢谢两位参与。

[Quote=引用 1 楼 的回复:]

保持试图尺寸可以把最小化最大化的属性设成False。指定位置location就可以做到。
[/Quote]

把这个设成false 后还是不行, 然后我再将最大化得尺寸设为设计视图的尺寸就OK了, 给我提供了个思路, 谢谢
shizhu820228 2012-09-13
  • 打赏
  • 举报
回复
没有错误,你是不是在其它地方改变窗体大小了。

你可以在你这两句话前后加上监视就知道


Console.WriteLine(this.Location.X + "," + this.Location.Y + "," + this.Width + "," + this.Height);

this.Location = new Point(this.Width, (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Height) / 2);
this.StartPosition = FormStartPosition.Manual;

Console.WriteLine(this.Location.X+ "," + this.Location.Y+ "," +this.Width+ "," +this.Height);
guoyong4321 2012-09-13
  • 打赏
  • 举报
回复
保持试图尺寸可以把最小化最大化的属性设成False。指定位置location就可以做到。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧