Re[2]: Свои контролы в C# (работа с ними из дизайнера)
От: AndrewZomb  
Дата: 14.01.08 13:33
Оценка:
Здравствуйте, Pavel_Agurov, Вы писали:

P_A>Не понятно что куда должно выпадать. Можно например прицепить к Mytext и MyBorder атрибут ExpandableObjectConverter.


[TypeConverter(typeof(ExpandableObjectConverter))]


P_A>Тогда свойство MyBorder будет распахиваться в дизайнере как например Font.

так и нужно, чтобы свойства распахивались как например Font
А можно подробнее про [TypeConverter(typeof(ExpandableObjectConverter))] — я поставил этот атрибут перед классом MyBorder но желаемого не получил — свойство Border стало просто доступно в Properties window, но не распахивается.. Может надо еще что-то писать в коде?
А свойство Border я определяю в MyControl как

        public MyBorder Border
        {
            get { return _border; }
            set { _border = value; this.Invalidate(); }
        }

Перед этим никакого атрибута ставить не надо? (атрибуты для меня пока неизведанная до конца штука)

P_A>Посмотрите метод InitializeNewComponent класса ComponentDesigner. Еще есть класс DesignerSurface и у него ResolveName.

P_A>Хотя тут надо определиться с вопросом "а зачем это надо" и тогда искать решения.
Не совсем понятно как использовать эти классы — наследовать свой MyBorder от него(них) или писать как в примере MSDN свой класс-дизайнер наследованный от них? Тогда встает вопрос как его использовать.. Если можно напишите подробнее..

спасибо за подсказки, хоть понятно в какую сторону копать. )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.