2012-11-09 44 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,你应该得到你所追求的。