Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > как сделать общий imagelist?


Автор: leniviy 2.12.2005, 14:47
Есть прога, в которой несколько форм. В каждой форме свой тулбар.
как сделать, чтобы в дезайнере в этим тулбарам присвоить один и тот же imagelist?

Автор: Exception 2.12.2005, 16:51
Эээ... не уверен; наверное в коде надо это делать..

Автор: leniviy 3.12.2005, 15:48
сделал свой компонент, который добавляешь на форму, а он при инициации присваивает тулбарам свойства

Автор: almazow 4.12.2005, 19:53
свой имидж лист помещаешь одну из своих форм. делаешь его public и можешь его использовать во всех своих формах проекта. нет проблем.. smile

Автор: Exception 5.12.2005, 00:39
Это.. не соответствует концепциям ООП: public-поля. Можно сделать свойство-аксессор, но не факт, что это выйдет.

Автор: almazow 5.12.2005, 11:38
Цитата(Run @ 5.12.2005, 00:39)
Это.. не соответствует концепциям ООП: public-поля. Можно сделать свойство-аксессор, но не факт, что это выйдет.
Чего же тут не соответствует? И почему не факт что выйдет? Кстати сделав свойство акцессор ты никак не защитишь private имидж лист от воздействия из вне (если тебя это пугает) т.к. акцесор даст указатель на этот имидж лист и другие классы по этому указателю спокойно могут поменять его содержимое...

Автор: mr.DUDA 6.12.2005, 12:04
В дизайнере один и тот же imagelist на разные формы назначить нельзя. Потому как все компоненты, используемые на форме, оформлены в виде полей формы, и никак от этого уйти нельзя.

Другое дело, если воспользоваться механизмом наследования, завести базовый класс формы, на которой ничего нет кроме imagelist (поле нужно сделать protected); все производные формы будут "видеть" этот imagelist в дизайн-тайме, поэтому его можно будет назначить на тулбары всех форм.

Автор: sergejzr 9.12.2005, 19:55
Тема возвращена из глубокого модерирования. Обошлось без больших жертв.
ПС:
На будущее - уважайте друг друга!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)