我有一个包含三个主要组成部分的表格:

  • 设置为与客户端
  • 对齐的FlowPanel
  • 第二个FlowPanel设置为与底部
  • 对齐
  • 状态栏设置为“与底部对齐”。

  • 一切开始看起来都很棒。但是,与底部对齐的FlowPanel也设置为AutoSize。它包含一个可以折叠的面板。内部面板包含用户可以决定隐藏的摘要信息。这会将FlowPanel的尺寸减小到很小的尺寸,但并没有完全消失。仍然有一个按钮,用户可以在其中重新展开摘要面板。

    当面板重新展开导致FlowPanel增大时,就会出现问题。那时,状态栏和FlowPanel的顺序相反。它们都仍设置为底部对齐,但是现在状态栏在我的FlowPanel上方。

    我可以在没有“折叠面板”的测试应用程序中重复此操作,只需在表单上放置按钮以查看底部流程面板的高度即可。如果增加高度,则顺序会更改。如果减少,则一切保持不变。我的测试表单中唯一的代码是:
    FlowPanel2.Height := FlowPanel2.Height * 2;
    

    我还用底部面板是常规TPanel而不是FlowPanel进行了测试,结果相同。

    关于为什么发生这种情况以及如何预防的任何想法?

    最佳答案

    我的解决方案:

  • 在表单上放置一个状态栏,并与底部
  • 对齐
  • 在面板上放置一个面板(Container_Panel)并与客户端
  • 对齐
  • 将FlowPanel放在Container_Panel上并与底部
  • 对齐
  • 将FlowPanel放在Container_Panel上并与客户端
  • 对齐

    现在,您应该没有任何问题了

    10-05 22:41