管理一个大的WinForm代码

时间:2012-06-13 16:53:13

标签: c# winforms visual-studio-2010

我想问亲开发者他们如何管理一个大型的Windows窗体。将partial关键字拆分为不同的文件是一个好主意吗?这就是我到目前为止所做的事情,但它创建了不必要的设计器文件,当你在VS中双击它们时,会弹出一个空白的winform:

enter image description here

所以我所做的,基本上是一个文件中每个相关控件组的组事件和代码逻辑。

4 个答案:

答案 0 :(得分:2)

我的回答是“我没有”。如果你需要在一个单独的类中使用大量代码(在这种情况下是一个表单),通常意味着你的类正在做很多事情,你需要减少耦合。实现这一目标的一个好方法是使用一种MVC或MVP模式形式将逻辑放在另一个地方,并使用UserControls,这样你就可以在不同的控件中使用不同的控件(使用他们的控制器或演示者,具体取决于你是否实现了MVC)或MVP)。分而治之。

答案 1 :(得分:0)

我不认为我是专家,但是一旦我们遇到类似的问题,主要形式并没有停止成长。

解决方案只是OOP,制作未附加和可重用的类,这些类可以在具有内部可见性的相同名称空间中。

例如,你有一个 ComparisionForm.Menu ,它看起来可以从 ComparisionForm 中的主代码中取消附加。

从另一个角度来看'可读性' .-部分类是有用的,但考虑到即使在不同文件中的代码划分,逻辑也不总是划分,这使得代码难以阅读,理解并最终难以维护。

逻辑上划分我的课程是我的解决方案。你知道他们说什么“分而治之”

答案 2 :(得分:0)

我认为分离表单代码的最佳方法是使用UserControl。

在我的情况下,当我有一个大班时,我使用区域而不是部分类。

答案 3 :(得分:0)

不是专业人士,但我的两分钱是:不要有一个大班。将大部分代码提取到其他类中。

您还可以获得大部分方法private,从而减​​少智能感知“噪音”。