【问题标题】:Reducing Complexities in Single form Application降低单一表单应用程序的复杂性
【发布时间】:2013-04-10 06:04:12
【问题描述】:

我创建了一个包含单个表单的 win 表单应用程序。我们有 8 个选项卡来访问应用程序的模块。

问题是我们是一个由 4 人组成的团队,负责这个项目。但由于它是单一表单应用程序,因此一次只能由一个人使用该文件。有没有其他方法可以使用多个文件构建应用程序?

请提供一些解决方案。

【问题讨论】:

    标签: c# winforms tabs


    【解决方案1】:

    首先,您可能应该为每个选项卡设置一个单独的 UserControl。这会给你 8 个文件(至少),因为你有 8 个标签。

    其次,您应该为 Windows 窗体应用程序使用 Model-View-Controller 风格的架构。这将为您提供至少一个控制器,但可能每个 UserControl(即每个选项卡)都有一个控制器。您甚至可能有一个管理每个选项卡控制器的整体控制器。

    整个应用程序可能只有一个数据模型,或者每个 UserControl(选项卡)可能只有一个数据模型。

    如果你做了所有这些,你会有更多的源文件。

    但是,如果不了解您的应用,实际上很难说。

    【讨论】:

      【解决方案2】:

      尝试使用用户控件使每个选项卡模块化。

      找出每个选项卡接受的参数以及它公开的参数,然后创建具有该行为的用户控件。

      这里有一些资源可以帮助您入门

      http://msdn.microsoft.com/en-us/library/aa302342.aspx

      User Control vs. Windows Form

      User Controls in Windows Forms - Anything similar to ASP.NET User Controls?

      【讨论】:

        【解决方案3】:

        即使这是一个巨大的蜡球,您的源代码控制工具也是劣质的,并且很难将其分解为单独的类,您仍然可以利用 Form 类作为部分班级。这意味着您可以将代码分布在任意数量的源代码文件中,而不仅仅是设计者创建的两个文件。所以一个逻辑组织是将属于特定选项卡的代码移动到其自己的分部类中,具有相同的表单类名和自己的源代码文件。但是,当您使用设计器添加事件处理程序时,需要进行一些剪切+粘贴。

        【讨论】:

          【解决方案4】:

          您是否考虑过使用 MDI?

          MSDN Working with MDI...

          示例在 VB.Net 中,但我相信如果你真的想使用 C# 会很容易 - 我不知道为什么,但是...:)

          【讨论】:

          • 是的.. 但是我们想要像标签一样的界面。
          猜你喜欢
          • 1970-01-01
          • 2017-08-31
          • 1970-01-01
          • 2021-09-22
          • 2020-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多