ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

部分表格类C#-仅显示类的代码视图

2019-11-22 09:04:54  阅读:223  来源: 互联网

标签:visual-studio-2010 c winforms


我在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>

因此,该程序可以编译,并且一切都很好,只不过当我从解决方案资源管理器中打开文件时,它会打开一个空白的Form设计器,而不是代码.

我希望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上测试,但基于discussion thread from 2005.

标签:visual-studio-2010,c,winforms
来源: https://codeday.me/bug/20191122/2058782.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有