【发布时间】:2011-04-14 15:05:08
【问题描述】:
如何防止调整应用程序窗口的大小?
我该怎么做?
【问题讨论】:
如何防止调整应用程序窗口的大小?
我该怎么做?
【问题讨论】:
在主要的Form(或您不想调整大小的任何Form)上,将FormBorderStyle 属性更改为Fixed______(FixedSingle、Fixed3D、FixedDialog、@ 987654328@).
【讨论】:
另一种方法是定义表单大小并通过属性将实际大小设置为MinimumSize 和MaximumSize。
这不会改变您的 BorderStyle 并且最终用户无法修改表单的大小。
【讨论】:
试试这个:
将FormBorderStyle 更改为Fixed(Single, 3D, Dialog)。
【讨论】:
FormBorderStyle 是什么?财产?你能让这个答案更具操作性吗?也许包括一些屏幕截图?
有一些解决方法:
将最大尺寸属性设置为您喜欢的值。如果您不希望应用程序窗口也缩小,请设置最小尺寸属性。如果您希望应用程序具有与设计时完全相同的大小,则将最大大小和最小大小都设置为窗口大小。 (一旦您从设计器中设置了最大尺寸或最小尺寸,您就无法通过编程方式调整窗口大小,除非您再次以编程方式重新设置最大尺寸和最小尺寸)
将 FormBorderStyle 设置为 FixedSingle 或 FixedDialog。对于未经训练的眼睛来说,外观上的差异不会很明显,但我从我的经验中发现的一个相当大的差异是,当您将其设为 FixedSingle 时,您仍然可以通过编程方式更改大小。使用 FixedDialog 是不可能的。这对于 FixedSingle 属性来说是一个巨大的优势。 (如果您想在使用 FixedDialog 后在此处以编程方式更改窗口大小,则必须先以编程方式更改 FormBorderStyle,这会在运行应用程序时产生轻微的闪烁效果。
所以只需选择 FixedSingle。为了有意义,请执行以下操作:
一个。将最大化框属性设置为 false。
b.将 SizeGripStyle 设置为隐藏。 (@colithium 指出这一点)
【讨论】:
在旧版本的 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;
}
}
【讨论】:
您可以在 xaml 中或通过设计器将 Window 对象的 ResizeMode 属性更改为 CanMinimize 或 NoResize。
【讨论】: