2010-09-20 40 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); 
相關問題