【问题标题】:Split a large winform class拆分大型 winform 类
【发布时间】:2011-12-03 20:03:36
【问题描述】:

我正在使用 WinForms 来设计一个应用程序。它有许多具有底层事件处理程序的控件(按钮、菜单等)。我发现我的班级越来越大,一个人很难驾驭。这是因为每个控件都需要一个或多个方法来处理窗口上下文中的事件。

有哪些技术可以组织这些方法或拆分如此大的类?

【问题讨论】:

  • 已经在使用#region?将所有非设计人员的代码都放在一个类中,这很好,没有惊喜的余地。

标签: c# class coding-style


【解决方案1】:

如果只是导航,您可以在多个文件中split your class,只需在每个文件的类声明前添加partial

通常,如果您有一些非常复杂的控件或绑定到这些控件的事件处理程序,则可以合理地将它们分开在您自己的自定义用户控件中,然后将它们添加到您的表单中。只需将新的用户控件元素添加到您的项目并按照您的需要对其进行自定义。

您的所有控件都可以像同一个项目中的任何其他 .Net 控件一样立即使用,但您可能还希望将它们放在单独的 DLL 文件中(如果您想进一步分离代码)。

这里是a nice tutorial 如何在 WinForms 中设计自己的控件。

【讨论】:

  • partial 关键字立即浮现在脑海。我希望找到其他技术来将我的代码压缩或分组到区域中。我的控件通常相当简单,只是它们有很多而且每个都有一个事件处理程序。
  • 如果您可以将您的逻辑捆绑到有意义的命令中,您可以实现类似命令设计模式(类似于它在 WPF 中的完成方式——查找 ICommand 接口),并只需调用具有必要上下文和参数的那些表单中的代码隐藏。
猜你喜欢
  • 2016-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2013-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多