C# 如何使用System.ComponentModel折叠类别属性?

C# 如何使用System.ComponentModel折叠类别属性?,c#,.net,winforms,windows-forms-designer,system.componentmodel,C#,.net,Winforms,Windows Forms Designer,System.componentmodel,我的设计时组件上有许多类别,默认情况下这些类别正在扩展 我希望它们在默认情况下显示为折叠,或者至少在用户看到它们之前有问题地折叠它们 [Category("Misc")] public int Id { // ... } 我需要使用类型转换器吗?这方面的文档非常粗略…我认为没有可行的方法可以做到这一点。虽然可以通过编程方式折叠PropertyGrid控件中的类别,但您需要访问Visual Studio正在使用的实例(或他们正在使用的任何编辑器)。据我所知,没有方法以声明的方式控制它,例

我的设计时组件上有许多类别,默认情况下这些类别正在扩展

我希望它们在默认情况下显示为折叠,或者至少在用户看到它们之前有问题地折叠它们

[Category("Misc")]
public int Id
{
    // ...
}

我需要使用类型转换器吗?这方面的文档非常粗略…

我认为没有可行的方法可以做到这一点。虽然可以通过编程方式折叠
PropertyGrid
控件中的类别,但您需要访问Visual Studio正在使用的实例(或他们正在使用的任何编辑器)。据我所知,没有方法以声明的方式控制它,例如使用属性或任何东西


使用自定义的
UITypeEditor
或其他东西可能会出现这种情况,但它会很脆弱,需要付出大量的努力,个人感觉这种情况无论如何都应该由用户的偏好决定。

我不知道是否可以折叠它们(可能在#区域?),但属性可以用逗号分隔。示例:[Category1(),Category(),等等]谢谢,但我不是在开发时寻找视图,而是在执行时,当属性视图可见时。