Для этих целей можно использовать ToolBoxItemAttribute И ToolboxItem.
Что бы твой класс нельзя было видеть в списке .NET компонент при добавлении в елементов в ToolBox,
достаточно над твоим компонентом прописать
[ToolBoxItem(false)]
public class MyButton : Control
{
...
}
А вот класс ToolboxItem и аттрибут ToolBoxItemAttribute используются при более сложной логике создания компонента.
Пример их использования можно увидеть при создании SqlDataAdapter, он вызывает мастер по настройке, и кроме себя создает еще и другие компоненты
SqlConnection и кучу SqlCommand.
... << RSDN@Home 1.1.3 stable Ночные Снайперы — Питерская>> <no any citation>