我需要通过手动(例如在事件上、在按钮单击上)页面切换来实现类似 TabControl 的行为,并将所有页面设计和实现为单独的表单。要合并(作为面板控件)到主窗体中并根据需要由另一个窗体替换的窗体。
如何实现这一目标?
PS:我不想使用 TabControl 的原因是因为选项卡太多 - 我更愿意将它们的列表呈现为 TreeView 并按需实例化。另一个原因来 self 的另一个项目 - 我将在那里实现插件,其中主窗口内的面板将由动态加载的类提供,并且可以在运行时切换。
最佳答案
I need to implement TabControl-like behaviour with manual (on event, on a button click for example) pages switching and having all pages designed and implemented as separate forms
请问为什么这是一个要求?看起来合乎逻辑的方法是创建一组用户控件。您可以将 UserControl 放置在表单中,也可以将 UserControl 放置在选项卡中。您可以获得模块化,而无需为实现一个非常奇怪的需求而烦恼,这是一个 API 开发人员显然认为无效的用例。我只是想不出采取您建议的路线的充分理由。
关于c# - 如何通过运行时嵌入表单切换来实现a-form-inside-a-form?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998567/