Перейти к содержанию
Vovan83

MultiCAD.NET задание свойств объеку

Рекомендуемые сообщения

Подскажите пожалуйста как задать свойство объекту для возможности выбора значений из выпадающего списка(ComboBox объект). Во встроенном примере только String объект. вот кусок кода из примеров

  [DisplayName("Текстовая метка")]
 [Description("Описание метки")]
 [Category("Тектовый объект")]
 public String Text{get ; set}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Через атрибут TypeConverter

 

   /// <summary>
   /// TypeConverter для списка должностей
   /// </summary>

   class MCETypeConverter : StringConverter
   {
    /// <summary>
    /// Будем предоставлять выбор из списка
    /// </summary>
    public override bool GetStandardValuesSupported(
	    ITypeDescriptorContext context)
    {
	    return true;
    }
    /// <summary>
    /// ... и только из списка
    /// </summary>
    public override bool GetStandardValuesExclusive(
	    ITypeDescriptorContext context)
    {
	    // false - можно вводить вручную
	    // true - только выбор из списка
	    return false;
    }
    /// <summary>
    /// А вот и список
    /// </summary>
    public override StandardValuesCollection GetStandardValues(
	    ITypeDescriptorContext context)
    {
	    YourEntity obj = context.Instance as YourEntity;
	    if (obj != null)
	    {
		    return new StandardValuesCollection(obj.TextVariantes);
	    }
	    return null;
    }
   }
.....

[TypeConverter(typeof(MCETypeConverter))]
 public String Text2
{
  get
   {
      return _Text2;
   }
  set
  {
    if (!TryModify()) return;//без этого не будет сохранятся Undo и перерисовыватся объект
     _Text2 = value;
  }
}

 

Не забывайте что в методе set надо вызывать TryModify для корректной перерисовки и записи Undo состояния объекта

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо все работает, а как добавить картинку в выпадающий список на примере выпадающего списка с типом линий Ncad.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с картинками увы не получиться. Типы линий - это специальный нативный тип контрола в каде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...