【发布时间】:2011-12-19 16:39:04
【问题描述】:
如何关闭用户调整 Windows 窗体窗体大小的功能?
我让它在点击时自行调整大小。
【问题讨论】:
-
将 FormBorderStyle 设置为 FixedSingle。
如何关闭用户调整 Windows 窗体窗体大小的功能?
我让它在点击时自行调整大小。
【问题讨论】:
默认情况下,FormBorderStyle 属性分配了 sizable 值 FormBorderStyle.Sizable。这可以调整表单的大小。
有 7 种 FormBorderStyle 属性值可供使用。
根据表单的类型,我们可以相应地分配适当的值。
假设您的表单名称是form1。
从下面选择任何一个使其成为固定
FixedSingle、Fixed3D、FixedDialog 使表单不可调整大小,分配 None 也可以工作,但没有控件就没有意义盒子以防万一。
下面的代码sn-ps,随便用一个
FixedSingle
form1.FormBorderStyle = FormBorderStyle.FixedSingle;
Fixed3D
form1.FormBorderStyle = FormBorderStyle.Fixed3D;
固定对话框
form1.FormBorderStyle = FormBorderStyle.FixedDialog;
无 [可选] 注意:没有控制框
form1.FormBorderStyle = FormBorderStyle.None;
我们可以像这样以图形方式应用它。
确保您已选择要使其固定大小的表单。然后您会在 Properties 窗口中看到一个名为 FormBorderStyle property 的属性。
【讨论】:
这些答案都不适合我,可能是因为我的窗口有一个状态栏。为了解决这个问题,我这样做了:
StatusStripObject.SizingGrip = False
同样适用于 StatusBar 对象,例如:
StatusBarObject.SizingGrip = False
【讨论】:
有更有效的答案:只需将以下说明放入Form_Load:
Me.MinimumSize = New Size(Width, Height)
Me.MaximumSize = Me.MinimumSize
【讨论】:
另一种方法是更改属性“AutoSize”(设置为 True)和“AutosizeMode”(设置为 GrowAndShrink)。
这具有表单自动调整其元素大小的效果,并且不允许用户更改其大小。
【讨论】:
form1.FormBorderStyle = FormBorderStyle.FixedSingle;
您可能还想删除最小化和最大化按钮:
form1.MaximizeBox = false;
form1.MinimizeBox = false;
【讨论】:
MaximizeBox 设置为false,以防止用户通过Windows key + up 最大化。将ControlBox 设置为false 还不够好。
更准确地说,将以下代码添加到 Form 类的private void InitializeComponent() 方法中:
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
【讨论】: