Re[3]: Компонент и Toolbox
От: V.Petrovski Беларусь  
Дата: 13.05.04 06:28
Оценка: 15 (3)
Для этих целей можно использовать ToolBoxItemAttribute И ToolboxItem.

Что бы твой класс нельзя было видеть в списке .NET компонент при добавлении в елементов в ToolBox,
достаточно над твоим компонентом прописать
[ToolBoxItem(false)]
public class MyButton : Control
{
...
}

А вот класс ToolboxItem и аттрибут ToolBoxItemAttribute используются при более сложной логике создания компонента.
Пример их использования можно увидеть при создании SqlDataAdapter, он вызывает мастер по настройке, и кроме себя создает еще и другие компоненты
SqlConnection и кучу SqlCommand.
... << RSDN@Home 1.1.3 stable Ночные Снайперы — Питерская>> <no any citation>
Re: Компонент и Toolbox
От: mikа Stock#
Дата: 12.05.04 19:06
Оценка: 10 (1)
Здравствуйте, Innokentiy, Вы писали:

ToolboxItem
Компонент и Toolbox
От: Innokentiy Украина  
Дата: 12.05.04 17:53
Оценка:
Привет всем.

Подскажите, пожалуйста, каким образом можно пометить компонент, что его не
нужно класть на Toolbox. Есть подозрение, что это каким-то образом делается
через атрибуты.

Поиск по статьям ничего не дал. Вроде бы, нечто общее есть с атрибутом
EditorBrowsable, но компилятор в упор его не хочет принимать в ассоциации с
классом.

Компилятор — Delphi 8 (хотя это не должно иметь значение).

Иннокентий


13.05.04 12:20: Перенесено модератором из '.NET' — TK
Re[2]: Компонент и Toolbox
От: Innokentiy Украина  
Дата: 12.05.04 20:45
Оценка:
Здравствуйте, mikа, Вы писали:

M>ToolboxItem


Спасибо, направление похоже на правильное

Порывшись в MSDN на этот счёт, пришёл к таким выводам: чтобы сообщить IDE, что компонент не нужно класть на Toolbox, нужно создать класс, унаследованный от ToolboxItem и перекрыть у него определенным образом методы CreateComponentsCore, Serialize и Deserialize. После чего этот класс прописать в атрибуте ToolboxItem компонента.

Вот только не совсем понятно, как именно нужно перекрывать эти методы. Похоже, тут нужно как-то задействовать свойство ToolboxItem.Filter? Но установка его в Prevent ничего не даёт, компонент по-прежнему показывается на Toolbox'e.

Прошу сильно не пинать, если вопросы чайниковские.


Иннокентий
Re[4]: Компонент и Toolbox
От: Innokentiy Украина  
Дата: 13.05.04 08:49
Оценка:
Здравствуйте, V.Petrovski, Вы писали:

VP>Для этих целей можно использовать ToolBoxItemAttribute И ToolboxItem.

VP>[ToolBoxItem(false)]
VP>public class MyButton : Control

Спасибо! То, что нужно!

Всё оказалось более чем просто


Иннокентий
Re[4]: Компонент и Toolbox
От: zullus13  
Дата: 25.05.06 13:46
Оценка:
Здравствуйте, V.Petrovski, Вы писали:

VP>Для этих целей можно использовать ToolBoxItemAttribute И ToolboxItem.


VP>Что бы твой класс нельзя было видеть в списке .NET компонент при добавлении в елементов в ToolBox,

VP>достаточно над твоим компонентом прописать
VP>
VP>[ToolBoxItem(false)]
VP>public class MyButton : Control
VP>{
VP>...
VP>}
VP>

VP>А вот класс ToolboxItem и аттрибут ToolBoxItemAttribute используются при более сложной логике создания компонента.
VP>Пример их использования можно увидеть при создании SqlDataAdapter, он вызывает мастер по настройке, и кроме себя создает еще и другие компоненты
VP>SqlConnection и кучу SqlCommand.

Идея такая: из базы данных в TreeView закидываются имена Таблиц и соответсвенно Имена полей. Все ноды представляются Toolbox'ами. Делать стендартно — работает. Пытаюсь создать свой ToolBox, который бы по созданию контрола на форме (пробовал по разному) проставлял соответсвующее свойство контрола — в моем случае — DataBindings.
Не подскажете, в какую сторону копать.
С великой надеждой, Андрей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.