2010-09-20 21 views
27

如何防止调整我的应用程序窗口大小。c#如何防止用户调整我的应用程序窗口?

我该怎么做?

+0

可能重复的[如何防止窗体被用户调整大小?](http://stackoverflow.com/questions/1119256/how-do-i-prevent-a-form-from )如何防止用户在运行应用程序时更改窗口/表单的大小](http:// stackoverflow) – 2014-04-25 19:23:59

+0

。com/questions/1330339/how-can-i-prevent-users-from-changing-the-window-form-size-when-application-is-r) – bluish 2015-08-25 12:46:37

回答

40

在主Form(或者你不想成为可调整大小的任何Form),该FormBorderStyle属性更改为Fixed______FixedSingleFixed3DFixedDialogFixedToolWindow)。

+0

谢谢。这种方法比最小值和其他黑客设置最大值更合适。 – Phil 2012-11-09 17:48:16

+1

FixedToolWindow尤其“可调色板”。 – 2016-01-13 23:04:04

5

另一种方式是定义您的表单大小并通过属性将实际大小设置为MinimumSizeMaximumSize

这不会更改您的BorderStyle,并且最终用户无法修改表单的大小。

+4

有效的解决方案。但是,我不喜欢Windows可以调整大小的时候,我会去调整它们的大小并且什么都不会发生。 – colithium 2010-09-20 11:20:35

1

试试这个:

Change FormBorderStyle to Fixed(Single,3D,Dialog) 
+1

它仍然可以通过拖动边缘来调整大小。 – colithium 2010-09-20 11:20:01

3

有几个解决方法这个:

  1. 设置最大尺寸属性为你喜欢的值。如果您不希望应用程序窗口也缩小,请设置最小大小的属性。如果您希望应用程序具有与设计时间完全相同的大小,请将最大大小和最小大小都设置为窗口大小。 (一旦从设计者设置了最大尺寸或最小尺寸,除非以编程方式重新设置最大尺寸和最小尺寸,否则无法以编程方式调整窗口的尺寸)

  2. 将FormBorderStyle设置为FixedSingle或FixedDialog。对于未经训练的眼睛,眼睛的差异不会显而易见,但根据我的经验,我发现一个相当大的差异是,当您将其设为FixedSingle时,仍然可以以编程方式更改大小。使用FixedDialog不可能。这对FixedSingle属性来说是一个巨大的优势。 (如果你想在FixedDialog之后以编程方式改变你的窗口大小,那么你需要以编程方式首先改变FormBorderStyle,这会在运行应用程序时产生轻微的闪烁效果)。

所以干脆去FixedSingle。并且有意义,请执行以下操作:

a。将最大化框属性设置为false。

b。将SizeGripStyle设置为隐藏。 (@colithium点这个)

-2

在较低版本的Visual Studio中找到此属性,如2008,ResizeMode不在此处显示时出现问题。

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (e.CloseReason == CloseReason.UserClosing) 
    { 
    e.Cancel = true; 
    this.WindowState = FormWindowState.Minimized; 
    } 
} 
+3

这段代码如何提供帮助? – aKzenT 2012-10-06 01:37:15

0

如果你想使用默认FormBorderStyle,并且仍然能够防止用户调整大小的表格,你可以根据需要简单的设置形式的MaximumSizeMinimumSize性能。

this.MaximumSize = new Size(XX,YY); 
this.MinimumSize = new Size(X,Y); 
相关问题