c# – 在应用程序中实现多个屏幕

奇怪的问题,但一个让我困惑的问题.在我们有终端和DOS的过去,应用程序通常只有一个“窗口”,这是一个全屏幕.当人们切换功能时,没有打开新窗口的概念,而是覆盖了主窗口的内容.所以只有一个主窗口,但是在其中呈现了多个屏幕.

如何在现代应用程序(WinForms或WPF)中创建类似的东西?

似乎有两种方法

>拥有多个Windows.这是通常的方法,通常允许用户同时使用多个窗口是有意义的,但这可能不是必需/期望的.使用ShowDialog()而不是Show()是制作第二个窗口模态的常用方法.
>只有一个窗口,但有一个TabControl.隐藏选项卡并以编程方式切换它们.这接近于“一个窗口,多个屏幕”的行为,但自然它会变得混乱,因为你在同一个Form类中拥有所有控件(虽然有人可能会认为这会强制控件的正确命名.另外,可以建议使用部分类和每个屏幕一个.cs)

我想知道是否有更好的方法?基本上是“看,我不关心边框样式/图标或主菜单条等内容.我想要的就是将这个屏幕渲染到这个区域”.有点像ASP.net主页,其中实际页面只定义被渲染到占位符的内容.

是否有一些适当的机制来做这样的事情?

或者整个方法有问题吗?

解决方法

一种方法是将每个屏幕实现为用户控件,并根据需要在主窗口中动态加载和卸载这些控件.我在Windows移动应用程序中使用了这种方法,并且它运行得很好.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...