如何关闭用户调整Windows窗体大小的功能?

我让它自己调整大小。


看一下FormBorderStyle属性

form1.FormBorderStyle = FormBorderStyle.FixedSingle;

你可能还想删除最小化和最大化按钮:

form1.MaximizeBox = false;
form1.MinimizeBox = false;

更准确地说,将下面的代码添加到Form类的私有void InitializeComponent()方法中:

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

首先,选择表单。 然后,转到属性菜单。 并将属性“FormBorderStyle”从相当大小改为Fixed3D或FixedSingle。


有一个更有效的答案:在Form_Load中放入以下指令:

this.MinimumSize = new Size(Width, Height);
this.MaximumSize = this.MinimumSize;

另一种方法是改变属性“AutoSize”(设置为True)和“AutosizeMode”(设置为GrowAndShrink)。

这样做的效果是表单自动调整其元素的大小,并且不允许用户更改其大小。


这些答案对我都不起作用,也许是因为我的窗口有一个状态栏。为了解决这个问题,我这样做:

StatusStripObject.SizingGrip = False

这同样适用于StatusBar对象,例如:

StatusBarObject.SizingGrip = False

解释

默认情况下,FormBorderStyle属性具有相当大的值FormBorderStyle。相当规模的分配。这使得窗体可以调整大小。

有7种FormBorderStyle属性值可供使用。

没有一个 FixedSingle Fixed3D FixedDialog 相当大的 FixedToolWindow SizableToolWindow

根据表单的类型,我们可以相应地分配适当的值。 假设您的表单名称为form1。

从下面选择任何一个,使其为固定

FixedSingle, Fixed3D, FixedDialog使窗体不可重新调整大小,分配None也将工作,但在没有控制框的情况下没有意义。

Code

下面的代码片段,使用其中任何一个

固定单

    form1.FormBorderStyle = FormBorderStyle.FixedSingle;

Fixed3D

    form1.FormBorderStyle = FormBorderStyle.Fixed3D;

固定对话框

    form1.FormBorderStyle = FormBorderStyle.FixedDialog;

无[可选]注:没有控制框

    form1.FormBorderStyle = FormBorderStyle.None;

或者,以图形方式

我们可以把它画成这样。

确保你选择了你想要固定大小的窗体。然后你会在属性窗口中看到一个名为FormBorderStyle的属性。