我在C#中有一个Blank Forms项目。
我想将函数和事件分成Form类上的不同Codefile。为了使它在变得很大并且有许多人在CodeControl上使用它时更易于管理。
所以我创造了
Form1.Functions.cs
Form1.Events.cs
这些额外的局部类都包含
namespace MyLargeProject
{
public partial class Form1
{
}
}
我还更改了csproj
文件,以便VS IDE将其显示在Soution Explorer中。
例
<Compile Include="Forms\Form1.Functions.cs">
<DependentUpon>Form1.cs</DependentUpon>
<SubType>Form</SubType>
</Compile>
因此,该程序可以编译,并且一切都很好,只不过当我从解决方案资源管理器中打开文件时,它会打开一个空白的窗体设计器,而不是代码。
我希望VS仅以代码文件形式打开此类,以限制Form1.Designer.cs文件的问题。
我也尝试过删除SubType
<SubType>Form</SubType>
但是Visual Studio一直将其添加回csproj文件。
如评论中所述,Visual Studio将打开.Designer.cs
以代码编辑器而不是表单设计器结尾的任何文件。利用这一点,在表单设计器中未打开表单的一个好的解决方案是将包含类的文件命名为结尾.Designer.cs
。
注意:我会说这不是很优雅。我发现有一个文件命名Form1.Designer.cs
而没有设计器是很不直观的。另外,如果表单最初是使用表单设计器创建的,则这将需要合并Form1.cs
,Form1.Designer.cs
并且在Visual Studio中可能会出现问题。
我的原始答案
跟着这些步骤:
1)确保设计器已关闭。
2)修改您Form1.Designer.cs
的属性DesignerCategory
并使用空字符串添加属性""
(“ Designer”,“ Form”或“ Component”以外的任何随机值也可以使用-不区分大小写):
namespace MyLargeProject
{
[System.ComponentModel.DesignerCategory("")]
public partial class Form1
{
// ...
}
}
3)卸载您的项目。
4)重新加载您的项目。
5)注意设计师没有出现。
6)享受!
注意:已在Visual Studio 2012上测试,但基于2005的讨论线程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句