1

我有一个广泛使用框架的应用程序,需要根据当时处于活动状态的表单来隐藏/显示某些按钮。为了使按钮保持整洁和组织得当,我将它们放在面板上,并根据每个表单的需要显示或隐藏面板。我的问题是,当最初创建每个表单时,即使我明确告诉他们将自己放入哪个顺序,框架上的面板也是乱序的。在我隐藏并重新显示表单后,面板的顺序正确。关于如何从一开始就保持正确顺序的任何建议?

4

5 回答 5

3

不要给面板明确的位置,而是尝试给它们对齐。他们往往比方式更好地坚持,如果你调整表格大小,他们在调整大小方面做得更好。

于 2009-06-06T03:28:52.890 回答
1

您也可以尝试使用 stackpanel(或者它是 flowpanel?)作为面板的父级。然后你将有一个订单而不是一个位置来操纵。

于 2009-06-06T08:51:25.357 回答
1

也许你可以看看 DevExpress LAyoutControl?它可以帮助我们创建始终看起来不错的界面,无论我们显示或隐藏某些组/面板。如果您愿意,它甚至允许对界面进行运行时自定义!

于 2009-06-06T11:27:45.463 回答
0

您可以尝试按坐标组织它们,即:设置顶部和左侧。除非您的面板对齐,否则这将始终有效(但需要做很多工作)。

于 2009-06-06T11:30:46.783 回答
0

我遇到了这个问题,我发现解决方案是在 FormCreate(或框架的 CMShowingChanged 方法)中执行此操作:

MyPanel1.Align := alNone;
MyPanel2.Align := alNone;
MyPanel1.Align := alBottom;
MyPanel2.Align := alBottom;

按您需要的顺序恢复 - 这似乎在视觉上整理了顺序。

于 2009-06-07T17:09:36.767 回答