有没有可能隐藏枚举值在PropertyGrid中显示?

4
我正在使用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;
1个回答

10

PropertyGrid中的可见性通常由[Browsable(...)]控制。因此,您可以向您的Error选项添加[Browsable(false)]。例如:

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

这里输入图片描述


1
这比我想象的要简单得多。谢谢Marc! - Michael Mankus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接