管理许多“页面”

时间:2016-06-12 03:32:23

标签: c#

我已经多次看到这个问题,但答案总是关于使用面板而已。假设我有一个包含25个不同“页面”内容的应用程序。我当然可以通过面板管理所有这些,但是这样设计的最佳方式是什么?您无法将25个面板内容完全适合Visual Studio设计器。是否有一些我盲目不知道的功能可以更容易地管理几十个面板?

1 个答案:

答案 0 :(得分:2)

您错过了90%的时间给出的实际建议:使用UserControls

它们就像表单,但您可以将它们添加到表单中。请参阅here for a discussionhere以及here了解更多有关为何以及如何执行此操作的信息,以及accessor routines ...

的详细信息

或者查看herehere以获取替代方案。它使用TabControl但仅适用于开发人员;在运行时,TabControl被隐藏,选定的内容容器(可能是Panel)从其TabPage移动到foom上的另一个容器或直接移动到表单。

UserControls对可访问性构成挑战,因为默认情况下其成员控件为private。但您可以将设计器中的modifiers更改为public或编写访问器功能。 Tab-trick通过在表单类中包含所有内容来避免这种情况;这样更简单但结构更差,不适合重复使用..