将对话框控件移动到选项卡中



我有一个包含多个控件的对话框。接下来,我添加了一个第三方网格控件,它非常庞大。它看起来不错,但没有足够的屏幕空间。一个理想的选择是有 2 个选项卡,一个带有现有控件,另一个用于保存网格。

看起来这种"选项卡"方法需要完全重写代码。有没有更好的方法可以做到这一点?当您想将 GUI 控制移动到您知道的选项卡中时,是否有任何具体问题?

如果您选择选项卡式对话框,请检查此 http://hallofshame.gp.co.at/index.php?file=tabs.htm&mode=original 以避免最琐碎的陷阱:

  • 您应避免将对话框控件(例如"确定"和"取消"(按钮放在选项卡上,因为它们适用于整个对话框而不是所选选项卡

  • 对话框中使用选项卡被认为是一个坏主意,因为用户在单击"确定"时无法看到她的所有输入。例如,用户在 tab1 上更改了某些内容,单击 tab2 并单击"确定" - 现在用户觉得她没有更改任何内容(在 tab2 上(,但按"确定"仍会应用他的更改。当然,有时选项卡是不可避免的,但如果您可以避免在模式对话框中使用它们,请避免。一个不好的例子是 http://hallofshame.gp.co.at/find95.htm 所有搜索参数都输入在多个视觉上不相关的选项卡上。

  • 制表符隐喻适用于多个文档,而不是多个输入。 https://en.wikipedia.org/wiki/Tab_(图形用户界面(

我宁愿不在这里使用选项卡。您可以使对话框变大,可以使网格变小,可以使用布局允许用户使整个对话框变大并从网格中看到更多内容,还可以使用拆分器让用户自定义 GUI。

(我发现很多次使用 GUI 设计器(例如 winforms 设计器(是个坏主意。最初布置控件有很大帮助。但是,从其他角度来看,这确实是一个障碍,例如隔离代码(并将其放入另一个选项卡(,以及继承和扩展 gui 片段。简而言之,您将放弃 OOP 的所有灵活性和功能,转而采用一种更快捷的方式将小部件扔到您的表单中。

如果你在代码中有现有的表单,你可以用它创建一个类,并为网格的东西创建一个类。然后重构表单以具有选项卡表,并在第一个选项卡上放置第一个类的实例,在第二个工作表上放置网格内容的实例。

从代码中编写 GUI 不一定很难,一旦您可以使用一些 OOP 隐藏实际 gui 框架的复杂性。如果您想查看示例,请告诉我。

它不可能这么简单,但是如果您使用的是 winForms 设计器,为什么不能只剪切控件,放入选项卡控件,然后粘贴到控件中?如果遇到代码丢失到处理程序的线路时遇到问题,则始终可以先将部分源代码复制到记事本中,然后在屏幕上移动控件后将其粘贴回去。

您也可以尝试拖放到选项卡控件。只需在屏幕一角使用2个选项卡将其变小即可。当您拖入时,它将在您放下时保持位置。一个所有控件都在,展开它。

像这样的事情可以与winforms+c#一起使用...我不知道你正在使用什么屏幕设计编辑器或 Gui 技术。我什至不确定平台。显然,如果不是窗户,那么我就离目标了......

相关内容

最新更新