2012-02-17 36 views
7

我已經創建一個C#的WinForms形式,的WinForms調整控制,以垂直向上推,當別人都看不見

它有一堆定位標籤和FlowLayoutPanel中的。

在某些場合,我將其中一個標籤和flowlayoutpanel設置爲visible = false。

因此,我希望所有標籤在他們下面被推高 - 目前他們都存在差距。

此外,我想flowlayoutpanel增長和縮小,取決於它的項目數量。目前它只是我設置在設計師身上的尺寸。

請你幫助解決這兩個問題。

感謝

+0

你可以使用一些面板來劃分您的窗體,然後隱藏每個面板則需要和使用dock.fill屬性。當你隱藏一個面板時,另外兩個將填滿剩下的空白區域。 – vulkanino 2012-02-17 11:42:09

回答

8

如果我沒有得到你,我會建議使用TableLayoutPane兩行。最上面的一行將包含一個停靠的面板,其中包含所有可能隱藏的控件。最下面的一行將包含一個停靠的面板,其餘的都是。

將頂行的SizeType設置爲AutoSize,將底行設置爲100%。

當您想隱藏控件時,將頂部面板的Visible屬性設置爲false。現在,因爲最上面的一行是自動調整的,它將縮小爲無,導致底部行「跳躍」。

+0

我沒有明白:我如何設置一行的屬性?它似乎既不在屬性窗口中,也不在«tableLayoutPanel»對象的彈出窗口中。 – 2014-11-13 08:27:15

+0

我想補充一點,因爲我想你的建議,但它沒有工作,直到我設置'AutoSizeMode =「GrowAndShrink」'對於TableLayoutPanel中 – 2014-12-03 17:15:22

1

TableLayoutPanel執行推送。如果下次沒有更好的答案,也許你可以使用它。

0

第一個問題: 您可以使用一些簡單的面板來劃分您的表格,給他們dock.fill屬性。當您以編程方式隱藏面板時,其他面板將填滿剩下的空白區域。

第二個問題: 您必須將Autosize屬性設置爲true

相關問題