2011-02-24 30 views

回答

27

你有兩種選擇,具體如下:

  • 從表單中刪除標題和邊框,禁用窗體的FormBorderStyle財產。

  • 設置與ClientSize財產形式的內部,具體如下:

    this.ClientSize = new Size(300, 300); 
    
+0

所以不可能在設計器中設置clientSize,對吧?我只需要300x300的窗口,不包括邊框和標題 – Mocco 2011-02-24 15:43:12

+0

正確,似乎沒有任何方法可以在設計器中進行設置。但是,您始終可以在「加載」或「繪製」事件中進行設置,並且用戶永遠不會知道區別。 – Yetti 2011-02-24 15:46:53

+1

爲了添加到我的最新評論中,最好在Load事件上執行此操作,因爲它在Load上發生一次,而Paint在整個執行過程中會發生很多次,所以每次表單重新設置時都沒有意義重置客戶端大小繪。 – Yetti 2011-02-24 15:58:16

7

爲什麼不直接在邊框的大小和標題欄的因素?

int BorderWidth = (this.Width – this.ClientSize.Width) /2; 
int TitlebarHeight = this.Height – this.ClientSize.Height – 2 * BorderWidth; 

我找到了公式here

+0

this.ClientSize給出無邊界的大小。這可能不是OP要求的,但它肯定是我需要的。 – user1032613 2013-11-15 17:34:55

5

解決方法是通過設計器工具設置合適的尺寸: 1.將FormBorderSize設置爲「無」。 2.設置首選大小(例如「300; 300」)。 3.將FormBorderSize設置爲首選邊框(其他所需空間將自動添加到Size屬性中)。

+0

我不知道它是如何在你的vs2010中工作的,但在vs2005中它確實有效。 – 2012-10-11 09:50:42

相關問題