【问题标题】:Additional Code File for Windows Forms FormWindows 窗体窗体的附加代码文件
【发布时间】:2011-07-26 10:06:49
【问题描述】:

我可以将另一个代码文件添加到 Windows 窗体窗体,以便它显示在解决方案资源管理器中的窗体下方吗?

  • MyWindow.cv
    • MyWindow.designer.cs
    • MyWindow.cs
    • MyWindow.Helpers.cs

如果我只是添加另一个具有此名称的文件,则它不是 MyWindow 下的文件。此外,它还显示有一个表格图标。我的代码文件变大了,这就是我想拆分它的原因。

干杯 马蒂亚斯

【问题讨论】:

    标签: .net winforms visual-studio visual-studio-2010


    【解决方案1】:

    正确的解决方案是提取辅助类。
    但是您可以简单地添加一个新的类文件(不是新的 Windows 窗体文件)并保存您的项目。在文本编辑器中打开 csproj 文件并找到新添加文件的 <Compile Include="yourNewFile.cs"> 标记。 在此标签内,添加一个新标签<DependentUpon>YourParent.cs</DependentUpon>,其中YourParent.cs 是您要放置新文件的文件。保存csproj文件并切换回VS并重新加载项目文件。

    【讨论】:

    • 这在 Visual Studio 2010 中有效吗?我不能这样做:“无法移动'MyWindow.Helpers.cs'。目标文件夹与源文件夹相同。”
    • 好的,谢谢。 VS 现在默认以设计器模式打开文件,但我可以很好地明确选择“查看代码”。
    • 尝试在DependentUpon 标记之后直接添加<SubType>Code</SubType> 标记。
    【解决方案2】:

    虽然没有办法做到这一点,但您可以将两个表单(以及相关的代码文件)添加到一个文件夹中,实质上可以达到相同的效果。

    我还想提一下,在“良好的类设计”下,您可以重构和分离您的代码,以便它更易于维护和遵循。您可能听说过这些,但是当您的应用程序变胖并获得另外 1,000,000 行代码时,诸如“关注点分离”、“DRY”和“工作单元”之类的原则真的会产生影响。

    【讨论】:

    • 谢谢。是的,我听说过他们。但我很挣扎,因为代码只包含事件处理程序。然而,功能区上有三十个按钮以及一些绑定源和输入控件,我不知道(技术上)如何正确地将事物分成几部分......
    • @Mudu,虽然我的帖子是主观的,在这里我可能完全错了,为什么你的屏幕上会有超过 20 个项目?也许一些控件可以相互关联,并添加到某种视觉控件中(基本上是 UI 对象的类)。
    • 总的来说,我完全同意你的看法。在我的应用程序中,有一个带有多个选项卡的功能区(类似于 Office)。因此,并非所有控件都对用户真正可见,但它们仍然在同一个表单上。我想构建用户控件,但我仍然需要一个调解对象。
    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多