2010-11-15 182 views
2

我有带独立groupboxes和对象WinForm应用程序,但这些代码不会被组合框中进行排序和漂亮搞砸了。单独的代码

可以将代码中的2个文件什么的分裂与同处的对象?

编辑:

这是我的代码:

alt text

我应该如何分割呢? (我需要一切与新闻和一切与迪尔改变)

+0

不清楚你的意思是“代码没有按groupbox排序”......你能详细说明一下吗? – 2010-11-15 16:41:59

+0

不是真的在groupboxes。我有两组对象,但我想分开每组对象的代码。 – klopske 2010-11-15 21:16:05

回答

2

您可能会发现更容易,问题较少使用的区域比试图分裂出来的文件:

#region - TextBox Events - 

private void txtNews_TextChanged() {...} 

private void txtDir_TextChanged() {...} 

#endregion 

#region - ComboBox Events - 

private void cmbNews_SelectedIndexChanged() {...} 

private void cmbDir_SelectedIndexChanged() {...} 

#endregion 

其中,倒塌的时候,看起来就像

- TextBox Events - 

- ComboBox Events - 

你也可以考虑的一个工具像Ora浏览大型文件:http://ora.codeplex.com/ JetBrains的Resharper还具有出色的文件结构查看器。

5

这听起来像我想要检查出Partial Classes

它们允许你分割代码在多个文件之间的单一类。

+2

表单已经是部分类。增加另一部分是打破设计师的好方法。 – 2010-11-15 16:54:16

+0

@汉斯:这不会打破设计师。 – SLaks 2010-11-15 16:55:36

+1

@SLaks:尝试一下,添加一个事件处理程序并将其移动到额外的部分。请注意设计师不再看到它,并且很容易添加另一个。 – 2010-11-15 17:30:15

1

你或许应该把每一组框到一个单独的用户控件。

0

,你可以:

  • 拆分代码隐藏到多余的部分,超出了设计师为您设置,因此可以保持其代码的“安全”。
  • 为每个GroupBox创建一个用户控件,甚至可能使用不同的名称和包含的控件设置相同的对象。
  • 仅仅通过分组框中单个代码隐藏内重新排列控制处理程序,从提取常用方法(绑定/解除绑定型行为)成特定组框的方法线。
0

你可以创建部分类,如果你想要一个以上的代码文件。它看起来像:

public partial class MyClass {...} 

可以,可选择添加在.csproj的一个DependentUpon属性(我不知道的方式做到这一点以外手动编辑的.csproj)。这将它们连接在IDE中。它看起来像:

<Compile Include="MyClass.Controls.cs"> 
    <DependentUpon>MyClass.cs</DependentUpon> 
</Compile> 

我就是你在谈论在了.Designer.cs文件自动生成的代码有点担心......你不想改变VS的东西产生你...如果你这样做,你下次改变窗体上的东西时将失去所有的改变,因为VS会重新生成它!