c# - C# 中的屏幕层次结构

标签 c# winforms

我正在编写一个基于 C# 表单的应用程序,想知道屏幕层次结构是如何布局的以及使用了哪些组件。

应用程序流程非常类似于具有一个主窗口的移动应用程序结构,您可以从中深入了解不同的“屏幕堆栈”。

执行此操作的最佳方法是 C#?
我是使用不同的形式还是使用基本屏幕,然后只更换面板?

最佳答案

我不会使用不同的表单或面板,因为它很可能会将代码变成一个无法维护的大泥球。

相反,您可以考虑使用 UserControls 并动态加载最合适的那个。该解决方案将适用于少量控件,但是当存在许多事件、复杂逻辑和维护状态时会失控,我不认为它对小型项目以外的任何东西都有用。

2005 年,模式与实践小组实现了 Composite UI Application Block作为改进动态加载的用户控件的第一次尝试。然而,在带有 Prisim 的 .NET 3 发布后,这在很大程度上被放弃了。 2010年11月Prisim 4.0的发布是为了更像是一种 RIA 风格的架构。就我个人而言,我会选择 Prisim 方法,因为它有一个良好的社区、来自 Microsoft 的支持以及项目中的大量辛勤工作,以克服您无疑会遇到的问题。

关于c# - C# 中的屏幕层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9062804/

相关文章:

c# - 添加第二个采用 Color 类型参数的构造函数时,Json.Net 会起作用吗?

c# - SendMessage/SC_MONITORPOWER 在运行 Windows 8 时不会打开监视器

c# - 在 Winforms 中更改 ListBox 的 "selected"颜色?

c# - 无法用鼠标选择 TextBox 控件的文本

c# - 为什么使用 contextmenustrip 右键单击​​第一秒菜单不在鼠标位置?

c# - 检查是否未设置所有枚举值

c# - 在 C# 中读取 Excel 2007 电子表格

c# - NHibernate session.Query<ISomeInterface>().Count 返回错误的计数

c# - 外部更新数据库时刷新网络表单

c# - 传入和传出后台 worker 的数据会发生什么变化?