日期:2014-05-17  浏览次数:21064 次

为什么在窗体里的Form1_Load里设置this.Location; 运行时窗体就会变大。
这个窗体本来就很小,开始调试时也会比设计大, 通过将MinimumSize属性设置为(1, 1). 运行时会有根设计视图中窗体一样的大小。


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

C# code

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




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

有没有办法保持设计视图的尺寸,有能使窗体显示在制定位置? 谢谢
 

------解决方案--------------------
保持试图尺寸可以把最小化最大化的属性设成False。指定位置location就可以做到。
------解决方案--------------------
没有错误,你是不是在其它地方改变窗体大小了。

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

C# code

            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);