5

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

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

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

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

4

3 回答 3

3

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

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

于 2013-04-30T19:47:14.583 回答
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);
    }
于 2013-04-30T15:14:53.323 回答
0

尝试这个:

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

于 2013-04-30T15:50:57.180 回答