C# 是否可以对PropertyGrid隐藏枚举值?

C# 是否可以对PropertyGrid隐藏枚举值?,c#,.net,winforms,enums,propertygrid,C#,.net,Winforms,Enums,Propertygrid,我正在使用PropertyGrid控件,并使用SelectedObject属性显示PropertyGrid中的数据。我的网格中的某些属性是枚举类型。我希望能够对用户隐藏枚举中的一些选择。以下面的示例为例:我想对用户隐藏“Error”的枚举。有办法做到这一点吗 [TypeConverter(typeof(PropertySorter))] public class Settings { public enum FooType { Type1, Type2, Type3, Type4, Er

我正在使用
PropertyGrid
控件,并使用
SelectedObject
属性显示
PropertyGrid
中的数据。我的网格中的某些属性是枚举类型。我希望能够对用户隐藏枚举中的一些选择。以下面的示例为例:我想对用户隐藏“Error”的枚举。有办法做到这一点吗

[TypeConverter(typeof(PropertySorter))]
public class Settings
{
    public enum FooType { Type1, Type2, Type3, Type4, Error };
    private FooType fakeProperty = FooType.Type1;

    public FooType FakeProperty
    {
        get { return fakeProperty; }
        set { // Do Something }
    }
}
我通过调用以下命令在
PropertyGrid
中显示数据:

myPropertyGrid.SelectedObject = mySettings;

PropertyGrid
中的可见性通常由
[可浏览(…)]
控制。因此,您可以将
[Browsable(false)]
添加到
错误
选项中。例如:

public enum Foo {
    A,
    [Browsable(false)] B
    C
}

这比我想象的要简单得多。谢谢你,马克!