【问题标题】:Winforms / Devexpress / Tab Control separation of concern / General code layoutWinforms / Devexpress / Tab Control 关注点分离 / 通用代码布局
【发布时间】:2014-07-16 14:04:35
【问题描述】:
我有一个单一的表单应用程序,该应用程序包含一个拆分布局和一个
- 菜单[左侧]
- 上下文菜单 [顶部]
- 选项卡控件 [窗口的主要部分]
每个菜单项更改选项都会更改选项卡控件中的当前选项卡并填充相关数据。
任何人都可以从我目前拥有的single file form.cs 中提出一种separating 代码的方法吗?它已经发展到2,000 lines,我必须使用regions 来保持它的井井有条。如果有人有任何我可以效仿的例子?
任何建议都会很棒。
亲切的问候,
大卫
【问题讨论】:
标签:
c#
winforms
devexpress
【解决方案1】:
最简单的方法是使用partial 关键字。您可以为每个区域创建一个文件并将其内容复制到该文件中。
例如,文件 MyClass.cs:
namespace MyNamespace
{
public class MyClass
{
//Code outside of region
#region 0
//Code for region 0
#endregion
#region 1
//Code for region 1
#endregion
#region 2
//Code for region 2
#endregion
}
}
可以拆分为多个文件:
MyClass.cs
namespace MyNamespace
{
public partial class MyClass
{
//Code outside of region
}
}
MyClass_Region0.cs(这个文件名只是举例,你可以给它任何你想要的名字。)
namespace MyNamespace
{
public partial class MyClass
{
//Code for region 0
}
}
MyClass_Region1.cs
namespace MyNamespace
{
public partial class MyClass
{
//Code for region 1
}
}
MyClass_Region2.cs
namespace MyNamespace
{
public partial class MyClass
{
//Code for region 2
}
}
【解决方案2】:
您还可以使用 UserControls 来分隔您的代码。例如,为每个 TabPage 创建一个 UserControl 可以帮助您保持代码更小。