Как добавить редактируемый combobox в систему.Окна.Формы.Компонент PropertyGrid?

у меня есть System.Windows.Forms.PropertyGrid с различными типами значений. Для конкретного элемента, я хочу показать список полезное значения на выбор. Пользователь также может ввести новое значение. Что-то похожее на традиционный выпадающий список combobox:

enter image description here

пока у меня есть свой System.ComponentModel.TypeConverter, но я не могу понять, как получить оба раскрывающихся списка с предлагаемыми значениями и возможность редактировать значение напрямую. Пожалуйста, помогите!

2 ответов


вы можете сделать это, реализовав свой собственный редактора uitypeeditor.

рекомендую почитать получение максимальной отдачи от .NET Framework PropertyGrid Control. В частности, раздел под названием предоставление пользовательского интерфейса для ваших свойств пошаговое руководство по созданию пользовательского элемента управления для определенного свойства.


Это легко. В своем собственном StringConverter return false на GetStandardValuesExclusive и это все.

смотрите здесь:

internal class cmbKutoviNagiba : StringConverter
{
      public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
      {
          return FALSE;    // <----- just highlight! remember to write it lowecase
      }

      public override TypeConverter.StandardValuesCollection GetStandardValues(
          ITypeDescriptorContext context)
      {
          string[] a = { "0", "15", "30", "45", "60", "75", "90" };
          return new StandardValuesCollection(a);
      }

      public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
      {
          return true;
      }
  }

я писал FALSE заглавными буквами, просто чтобы вам было легче увидеть его. Пожалуйста, положите его маленькими буквами:)