禁用Windows窗体的大小调整

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

我让它自己调整大小。

300567 次浏览

看一下FormBorderStyle财产

form1.FormBorderStyle = FormBorderStyle.FixedSingle;

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

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

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

this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
  1. 首先,选择表单。
  2. 然后,转到属性菜单。
  3. 将属性“FormBorderStyle”从相当大小改为Fixed3D或FixedSingle。

    这是修改属性 < / p >

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

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

另一种方法是改变属性“自动大小”。(设置为True)和“;AutosizeMode"(设置为GrowAndShrink)。

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

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

StatusStripObject.SizingGrip = False

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

StatusBarObject.SizingGrip = False

解释

默认情况下,FormBorderStyle属性分配了相当大的FormBorderStyle.Sizable。这使得窗体可以调整大小。

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

  • 没有一个
  • FixedSingle
  • Fixed3D
  • FixedDialog
  • 相当大的
  • FixedToolWindow
  • SizableToolWindow
根据表单的类型,我们可以相应地分配适当的值。 假设你的名字叫form1形式。< / p >

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

FixedSingle, Fixed3D, FixedDialog使表单non-resizeable,分配没有一个也可以工作,但如果没有控制框,就没有意义了。

代码

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

FixedSingle

    form1.FormBorderStyle = FormBorderStyle.FixedSingle;

Fixed3D

    form1.FormBorderStyle = FormBorderStyle.Fixed3D;

FixedDialog

    form1.FormBorderStyle = FormBorderStyle.FixedDialog;

没有一个[可选]注意:没有控制框

    form1.FormBorderStyle = FormBorderStyle.None;

或者,以图形方式

我们可以把它画成这样。

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

 Visual Studio IDE图形属性窗口