2010-01-25 52 views
2

我有一個簡單的窗體,其中包含一個TabControl,其中TabPages在運行時添加。我已經得到了所有這些工作幾乎,因爲我希望它,但是當我將窗體設置爲autosize時,它忽略計算中的運行時TabPages ...我如何強制窗體延遲自動調整,直到TabPages已被添加,或者在添加新的TabPage時強制表單重新計算?在運行時添加的C#TabPages不會自動調整父窗體

編輯:爲了記錄,我通過在640x480(使用MinimumSize屬性)啓動我的應用程序幷包括750寬控件來測試此項。

+0

如果您在添加選項卡後關閉自動大小然後重新打開,會發生什麼情況? – Jay 2010-01-25 06:53:38

+0

不是很多,不幸的是。 – EvoGamer 2010-01-25 17:50:42

回答

0

會使用SuspendLayout()ResumeLayout()做詭計嗎?這裏是解釋它如何工作的link

您先致電SuspendLayout()先添加標籤頁,然後ResumeLayout()

希望這會有所幫助, 最好的問候, 湯姆。

+0

不幸的是,這似乎並未影響Autosize邏輯... – EvoGamer 2010-01-25 01:19:33

0

如何使用TabPage.Dock = DockStyle.Fill?

+0

TabPages沒有Dock屬性。這取決於TabControl到Dock,它已經做到了。 – EvoGamer 2010-01-25 15:42:53

0

我懷疑你不再有這個問題,但這可能對其他人尋找解決方案有幫助。您可以將TabControl的MinimumSize設置爲您添加的最大TabPage的MinimumSize。 TabPages沒有自己的MinimumSize,因此您必須在TabPage中有一個完全停靠的控件,您可以在其中檢查MinimumSize。

我已經有了這個設置(使用FlowLayoutPanel來佈局TabPage的內容),所以它比較簡單,不知道是否對其他人來說這麼容易。我知道這是一個非常不愉快的解決方案,但我找不到另一種強制TabControl正確更新自身的方法。

相關問題