将对话框控件移到标签中?

我有一个对话与几个控件。 接下来,我添加了一个第三方的网格控件,这是相当庞大的。 它看起来不错,但没有足够的屏幕空间。 一个理想的select是有两个选项卡,一个用现有的控件,另一个用来保存网格。

看起来这个“标签”方法将要求完整地重写代码。 有没有更好的方法来做到这一点? 当您想要将GUI控件移动到您知道的选项卡时,是否有任何特定的问题?

如果你选择一个标签对话框,请检查http://hallofshame.gp.co.at/index.php?file=tabs.htm&mode=original,以避免最微不足道的错误:

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

  • 在对话框中有选项卡被认为是一个坏主意,因为用户在单击“确定”时看不到所有的输入。 例如,用户在tab1上改变了一些东西,点击了tab2并点击OK – 现在用户有了一个印象,她没有改变任何东西(在tab2上),但是按下OK仍然适用他的改变。 当然,有时候制表符是不可避免的,但是如果你可以避免在模式对话框中使用它们,请避免。 一个不好的例子是http://hallofshame.gp.co.at/find95.htm ,其中所有的搜索参数被输入到多个视觉上不相关的标签上。

  • 这个标签隐喻用于多个文档,而不是多个输入。 https://en.wikipedia.org/wiki/Tab_(GUI)

我宁愿不要在这里使用一个标签。 您可以使对话框变大,可以使网格更小,您可以使用布局来允许用户使整个对话框更大,并从网格中看到更多,并且可以使用分隔线让用户自定义GUI。

(我发现很多时候使用一个GUI设计器(比如winforms设计器)是一个坏主意,最初是对控件进行布局是非常有帮助的,但是从其他角度来看,它确实是一个障碍,比如隔离代码(把代码另一个选项卡),并继承和扩展gui片段,简而言之,您将放弃OOP的所有灵活性和强大功能,只是为了更快地将小部件扔到窗体上。

如果你有代码中的现有表单,你可以创建一个类,另外一个类是网格类。 然后重构你的表单来制作一个标签页,并在第一个标签页上放置第一个类的实例,在第二个表单上放置你的网格实例。

一旦你可以用一些OOP来隐藏实际的GUI框架的复杂性,从代码编程GUI并不一定是困难的。 如果你想看一个例子,请告诉我。)

不能这么简单,但是如果你使用的是winforms设计器,为什么你不能简单的删除控件,放入tab控件,并粘贴到控件中呢? 如果代码在处理程序中丢失连线时遇到问题,则始终可以将源代码的某些部分先复制到记事本中,然后在移动屏幕上的控件后将其粘贴回来。

您也可以尝试拖放到选项卡控件。 只需在屏幕的角落使用两个标签即可。 当你拖入时,它会保持你的位置,当你下降。 一个所有的控件都在,扩展它。

像这样的事情将与WinForms + C#工作…我不知道你使用什么屏幕设计编辑器或桂科技。 我甚至不确定这个平台。 显然,如果不是窗户,那么我就走了