如何阻止调整应用程序窗口的大小?
我该怎么做?
答案 0 :(得分:42)
在主Form
(或您不希望调整大小的任何Form
)上,将FormBorderStyle
属性更改为Fixed______
(FixedSingle
,Fixed3D
,FixedDialog
,FixedToolWindow
)。
答案 1 :(得分:5)
另一种方法是定义表单大小,并通过属性将实际大小设置为MinimumSize
和MaximumSize
。
这不会改变您的BorderStyle,最终用户也无法修改表单的大小。
答案 2 :(得分:3)
有一些解决方法:
将最大尺寸属性设置为您喜欢的值。如果您不希望缩小应用程序窗口,则设置最小大小属性。如果您希望应用程序具有与设计时间完全相同的大小,则将最大大小和最小大小都设置为窗口大小。 (一旦您从设计器设置了最大尺寸或最小尺寸,就无法以编程方式调整窗口大小,除非您再次以编程方式重新设置最大尺寸和最小尺寸)
将FormBorderStyle设置为FixedSingle或FixedDialog。对于未经训练的眼睛来说,外观上的差异并不明显,但我从经验中发现的一个显着差异是,当你将其设为FixedSingle时,你仍然可以通过编程方式改变尺寸。使用FixedDialog是不可能的。这对FixedSingle属性来说是一个巨大的优势。 (如果你想在使用FixedDialog之后以编程方式更改窗口的大小,那么你必须首先以编程方式更改FormBorderStyle,这会在运行应用程序时产生轻微的闪烁效果。)
所以简单地选择FixedSingle。有意义的是,请执行以下操作:
一个。将box属性设置为false。
湾将SizeGripStyle设置为Hide。 (@colithium指出这一点)
答案 3 :(得分:1)
试试这个:
将FormBorderStyle
更改为Fixed(Single, 3D, Dialog)
。
答案 4 :(得分:0)
如果您想使用默认的FormBorderStyle
,并且仍然无法阻止用户重新调整表单大小,您只需设置表单的MaximumSize
和MinimumSize
属性即可如你所愿。
this.MaximumSize = new Size(XX,YY);
this.MinimumSize = new Size(X,Y);
答案 5 :(得分:0)
您可以在xaml中或通过设计器将Window对象的ResizeMode属性更改为CanMinimize
或NoResize
。
答案 6 :(得分:-2)
在旧版Visual Studio中找到这些属性存在问题,例如Visual Studio 2008和ResizeMode不会出现在此处。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
}
}