设置表单最小大小

时间:2013-04-30 14:55:27

标签: c# .net winforms

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    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);
    }

答案 2 :(得分:1)

试试这个:

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