Можно ли скрыть значение перечисления от PropertyGrid?

Я работаю с PropertyGrid контролировать и использовать SelectedObject свойство для отображения данных в пределах PropertyGrid, Некоторые свойства в моей сетке являются типами enum. То, что я хотел бы сделать, это скрыть некоторые из выборок в enum от пользователя. Возьмите следующий пример: я хотел бы скрыть перечисление "Ошибка" от пользователя. Есть ли способ сделать это?

[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 ответ

Решение

Видимость в PropertyGrid обычно контролируется [Browsable(...)], Чтобы вы могли добавить [Browsable(false)] на ваш Error вариант. Например:

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

Другие вопросы по тегам