Если вы просто хотите показать раскрывающийся список значений для выбора, но запретить пользователю вводить что-либо в значение свойства в элементе управления PropertyGrid, вы можете извлечь из TypeConverter и переопределить GetStandardValuesExclusive метод, который просто возвращает true.
Чтобы предоставить набор допустимых значений для отображения в раскрывающемся списке, необходимо переопределить метод GetStandardValuesSupported , чтобы вернуть true, а затем переопределить GetStandardValues , чтобы вернуть список допустимых значений, которые вы хотите показать в выпадающем списке.
Как только вы это сделаете, вам нужно просто указать свой конвертер типов в свойстве следующим образом:
public class MyTypeConverter : TypeConverter
{
//Override GetStandardValuesExclusive,
//GetStandardValues and GetStandardValuesSupported
}
public class SomeClass
{
[TypeConverter(typeof(MyTypeConverter))]
public string SomePropertry
{
...
}
}