设置表单最小大小

我有一个带有相当大边框的C#表单。 我想将最小大小设置为(850,760)(默认起始大小),但是当我尝试在表单属性菜单中设置值时,它会不断将其更改为(850,720)。 我尝试按代码设置它如下:

this.minimumSize = new System.Drawing.Size(850, 760); 

但是当我运行代码时,我仍然可以垂直缩小我的表单。 有没有人对问题可能是什么有任何想法?

编辑:我使用两个显示器,一个标准1280×1024和另一个宽屏1366×768,这可能是问题? 在这种情况下有没有办法测试用户的显示器分辨率并根据它设置最小尺寸?

许多在运行时运行的代码也在设计时处于活动状态。 这为Winforms设计师提供了一个非常好的WYSIWYG用户界面,但它确实有一些不幸的副作用。 包括让设计师崩溃并给你白色的Darn屏幕。 如果您访问此网站的名称,或者将VS崩溃到桌面。

这是一个这样的副作用,运行时代码将MinimumSize限制为Screen.WorkingArea,并且在设计时也这样做。 只需尝试输入(0,3000)即可查看发生的情况。 您可以通过在代码中分配属性来强制它。

我认为你应该再次查看你的代码。它应该在设计器或你的表单的page_load中看起来像这样。

  ///  /// Required method for Designer support - do not modify /// the contents of this method with the code editor. ///  private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Text = "Form1"; this.MinimumSize = new Size(300,300); } 

试试这个:

将Form的FormBorderStyle属性设置为FixedSingle 。 然后将禁用表单边框大小调整