2009-09-15 1 views
16

Я разработал элемент управления на C#. Помимо всего прочего, этот элемент управления может отображать другие элементы управления во время выполнения. Когда вы включаете сборку в Visual Studio, появляется элемент управления, который я создал, но также отображаются другие элементы управления (те, которыми управляет мой элемент управления). Я бы предпочел, чтобы они не отображались в панели инструментов в Visual Studio. Есть ли атрибут, который я могу применить к этим классам, чтобы они не отображались? Я нашел атрибут browsable, но он говорит, что он предназначен для свойств и событий.Как я могу скрыть элементы управления, которые мой элемент управления использует из панели инструментов?

ответ

32

Добавьте атрибут [ToolboxItem (false)] к классам, которые вы не хотите отображать в панели инструментов.

+0

Это работало теперь мне нужно выяснить, как установить значок. Я попробовал ToolboxBitmap, но пока не смог заставить его работать. –

+2

ToolboxBitmap - правильный атрибут. Вам нужно добавить файл .bmp в свой проект и убедиться, что его действие сборки установлено в «Ресурс». Тогда, предполагая, что это называется example.bmp и в той же папке, что и контроль, ваш атрибут ToolboxBitmap будет выглядеть примерно так: пространства имен MyControls { [ToolboxBitmap (TypeOf (MyControl), "example.bmp")] общественного запечатаны класс MyControl: Управление { } } – Josh

0

Если вы объявляете UserControl «внутренним», а не «общедоступным», он не будет отображаться в панели инструментов, когда вы ссылаетесь на сборку в другом проекте.

Обновление: или, может быть, это не работает вообще. Я не могу заставить свои простые контрольные элементы работать правильно, когда я пытаюсь размещать один в другом. Дайте мне знать, работает ли «внутреннее».

+0

Я проверил, что сделать его внутренним не помогло. –

+0

Это странно - сделав его внутренним * * * сохраняя его из панели инструментов моего проекта. Ну хорошо, очевидно, что атрибут ToolboxItem имеет больше смысла. – MusiGenesis

Смежные вопросы