【问题标题】:What design alternatives are there for nested page controls?嵌套页面控件有哪些设计替代方案?
【发布时间】:2010-02-05 22:25:01
【问题描述】:

在我们的主要应用程序中,我们有一个表单可以让我们以四种不同的方式对数据进行交叉表分析。目前,每个分析都出现在屏幕上其自己的 PageControl 页面中。现在,高层管理人员希望我们在表单中添加一个历史方面,在其他领域我们会使用 PageControl 来做,但是嵌套其中两个似乎是一个坏主意,以显示堆叠在顶部的句点和分析选项卡彼此。有没有人对我们如何重新工作以使其看起来体面和工作良好有任何建议?谢谢。

【问题讨论】:

    标签: delphi user-interface application-design


    【解决方案1】:

    如何使用表单底部的 TTabset 控件来允许在历史期间和当前数据之间切换?我还将确保历史数据与当前数据的数据呈现方式存在视觉差异。就像对历史数据使用非灰色单元格背景一样。

    【讨论】:

    • 查看 Delphi IDE 以获取带有“代码”和“历史”选项卡的示例。
    【解决方案2】:

    使用一个小的(水平的)TTabSet 和一个垂直的。

    here(可点击图片放大)。 TTabSet 与 Delphi 一起提供 OOTB。如果您的要求不高,可以很容易地编写垂直的。如果你愿意,我可以分享代码。但是如果你想要一个更好的垂直标签集,那么你可以花更多的时间在写作上,或者买一个从 Torry 或其他地方准备好的。

    HTH。

    【讨论】:

      【解决方案3】:

      恕我直言,您可以为每个分析结果页面使用框架,然后您可以使用 PageControl 或 TabSet 或任何其他可视控件来加载和显示相应的框架。

      由于框架完全独立于用于选择适当周期和分析的可视控件,因此您将不会被限制为基于选项卡的控件;例如,您可以有一个用于分析选择的选项卡集,以及一个用于周期选择的树形视图。

      框架在这里也有一些额外的好处:

      • 首先,他们的代码保存在 单独的单位,这将增加 代码可读性。
      • 二、可以设计底架 并放置所有控件和代码 所有这 4 种分析都分享到 那个基础框架,并以这种方式有 更好的代码重用。
      • 第三,您可以丢弃每一帧 在您的主表单上并让它们加载 就像以前一样,或者你可以定义一个 容器控件(例如面板),以及 根据用户的选择加载其中之一 框架进入容器控件 动态,因此减少初始负载 您的申请时间,以及 可能会减少整个系统 资源消耗。

      【讨论】:

      • 每个人都最喜欢这个解决方案,因为它在我们有限的时间内编写代码最简单。
      猜你喜欢
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2010-09-07
      相关资源
      最近更新 更多