2012-11-09 32 views
1

我有一個自定義Windows窗體(擴展爲System.Windows.Forms的類)。它的佈局如下:無法使流佈局面板在空時消失

enter image description here

  • FLP:流佈局面板。流動方向在名稱中指定。
  • PB:圖片框
  • RTB:RichTextBox的
  • B:按鈕

    走上問題:有可能在底部的FLP爲空(無按鈕)。當發生這種情況時,我希望它縮小到零高度,然後讓上面的FLP和RTB增長並填充該空間。這是因爲當沒有按鈕時,所有這些空白空間看起來都很難看。 我用AutoSize = TrueAutoSize = GrowAndShrink配置了較低的flp。然後,對於上面的flp,我設置了AutoSize = True,AutoSizeMode = GrowOnlyDock = Fill。但是當我創建一個沒有按鈕的表單時,空間仍然存在。如果我繪製控制邊界,那麼應該在較低的位置,我會看到一個小圓點。 我哪裏錯了?

更新:我願意重新佈局以更便捷的方式,甚至使用WPF重做整個表單。

回答

1

我看起來不像你需要自上而下的FlowLayoutPanel。

試着把你左右的FlowLayoutPanel放到底部。然後將您的左右FlowLayoutPanel和Dock填充到剩餘區域。

如果你的按鈕面板沒有可見的按鈕,那麼你可以隱藏面板,填充面板將佔用剩餘的空間。

+0

這確實會使上部填充表格在下部填充空白時填充表格,但即使將其停靠在底部,我也無法讓RTB一直增長到底部(這可能需要單獨問題是否答案不重要)。 –

+0

@dario_ramos根據您的示意圖,RTB不應該停靠在底部。它應該是碼頭填充(如果PB是碼頭左側)或停靠在右側。或者,您可以刪除對接樣式,只需將RTB固定在各個方面。 – LarsTech

1

如果刪除FLP_top_down,改變flp_left_to_right.Dock = DockStyle.Fill,改變flp_left_to_right.Dock = DockStyle.Bottom,你應該得到你所追求的。