gpt4 book ai didi

delphi - TTabSet 选项卡顺序....在运行时与设计时不同

转载 作者:行者123 更新时间:2023-12-03 18:28:21 26 4
gpt4 key购买 nike

我正在运行 Lazarus 0.9.30.2。

我有一个 TForm,上面有一个 TPageControl。在 TPageControl 中有一系列 TTabSheets。在运行时,TTabSheets 的顺序与设计时不同(见图)。

enter image description here

设计时的顺序是我想在运行时看到的,至少在表单第一次显示时是这样。为什么订单在运行时会发生变化,有没有办法控制它?

最佳答案

@TLama 是正确的,这与 Windows 选项卡控件在多行 View 中的行为方式有关。您观察到的行为与处理多行选项卡的选择方式有关。当您选择一个选项卡时,它始终显示在底行,因为指示选择了哪个选项卡的视觉提示只能真正适用于底行的选项卡。

鉴于该约束,控件只需在您修改选定选项卡时重新排列选项卡行。这让用户感到非常困惑。好的 UI 设计永远不会让 UI 元素像这样改变位置。

很明显,这里发生的情况是,重新排列是在表单首次显示时在运行时发生的,无论出于何种原因,这都会导致与设计时排列不同的排列。鉴于用户只需选择它们就可以按任何顺序排列行,我不确定您是否应该担心行出现的顺序。

如果您在表单首次显示时强制执行特定安排,您可以将这样的代码添加到 OnCreate表单处理程序:

PageControl1.ActivePage := TabSheet9;
PageControl1.ActivePage := TabSheet5;
PageControl1.ActivePage := TabSheet1;

UI 设计的最佳实践是避免多行选项卡控件,我敦促您尝试以这种方式重新设计您的 UI。

关于delphi - TTabSet 选项卡顺序....在运行时与设计时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com