在Visual Studio中,有很多设计器编辑器,Windows窗体,XAML,安装程序等。
有时,我会创建一个新的源代码 partial class(custom)来分隔逻辑。
例如:
在这最后,我包括仅打印方法和属性,然后,当我在解决方案资源管理器上双击此文件时,总是打开设计器,而不是代码编辑器,当然,我尝试使用 F7 或右键单击以执行此操作,但当我与同事共享项目时,它就成了一个问题。
任何人都知道如何避免这种行为?也许是一个类属性!?
答案 0 :(得分:1)
作为选项,在文件开头添加由[DesignerCategory("")]
修饰的虚拟类。这会将DesignerCategory
的行为限制为设计者尝试加载的第一个类。
不优雅但正在工作:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WindowsFormsApplication1
{
[System.ComponentModel.DesignerCategory("")]
public class Dummy { }
public partial class Form1
{
}
}
答案 1 :(得分:0)
另一种方法是嵌套文件并为其添加 next/link
扩展名:
这样做:
卸载项目
编辑项目文件
找到您想要将其设为子文件的文件名
将 .designer.cs
文件添加到子标签
你现在应该有这样的东西:
<DependentUpon>name of parent</DependentUpon>
保存并关闭项目文件。
重新加载项目。
答案 2 :(得分:0)
基于接受的答案,https://stackoverflow.com/a/40302216/3917091
在自己的文件(或任何地方)中实现你的类
C#:
/// <summary>
/// Partial classes of Forms want to open in Form-View. Adding this stops it.
/// </summary>
[System.ComponentModel.DesignerCategory("")]
public class FormViewBlocker {
}
VB.net:
''' <summary>
''' Partial classes of Forms want to open in Form-View. Adding this stops it.
''' </summary>
<System.ComponentModel.DesignerCategory("")>
Public Class FormViewBlocker
End Class
然后,在部分表单的顶部,
C#:
partial class FormViewBlocker {
}
VB.net:
Partial Class FormViewBlocker
End Class
原来如此