Могу ли я использовать UserControl из того же проекта, не создавая DLL? - PullRequest
6 голосов
/ 25 февраля 2011

Я создал пользовательский элемент управления и уже смог его использовать, добавив его в форму в коде C #. Пользовательский элемент управления находится в том же проекте VS2005, что и основная форма.

Проблема в том, что я не вижу пользовательский элемент управления в редакторе графического интерфейса (окно [Design]) с этой реализацией. Я перепробовал много вещей, но я не смог добавить пользовательский элемент управления в реальный дизайн формы.

Я прочитал кое-что о создании управляющей библиотеки DLL, а затем добавил эту библиотеку DLL на панель инструментов, но я не хочу иметь дополнительный проект и дополнительный двоичный файл.

Как я могу использовать пользовательский элемент управления в дизайне формы, если оба находятся в одном проекте VS? Я думаю, как-то это должно быть возможно?

Редактировать 1:

Извините, у меня Visual Studio 2005, а не 2010

Ответы [ 6 ]

12 голосов
/ 25 февраля 2011

Конечно, можно использовать UserControl в режиме разработки, когда он является частью того же проекта.

Однако обратите внимание, что он будет отображаться в вашем наборе инструментов только в том случае, если вы включили параметр «AutoToolboxPopulate». Перейдите в меню «Инструменты» и выберите «Параметры». Разверните «Конструктор Windows Forms» и нажмите «Общие». Убедитесь, что для свойства "AutoToolboxPopulate" установлено значение True. Когда вы перестраиваете свое решение, ваш UserControl должен отображаться в верхней части панели инструментов, готовый для добавления в форму.

Кроме того, вы можете добавить UserControl к вашей панели инструментов вручную. Для этого щелкните правой кнопкой мыши на панели инструментов и выберите «Выбрать элементы» в контекстном меню. Перейдите к элементу управления, убедитесь, что он отмечен в списке, и нажмите «ОК».

В случае возникновения исключения (как, например, упомянутый MacX) дизайнер все равно уведомит вас. Элемент управления по-прежнему будет отображаться в наборе инструментов, и вы все равно сможете попытаться добавить его в свою форму.

1 голос
/ 25 февраля 2011

Как уже упоминал APShredder, элемент управления должен автоматически появиться в наборе инструментов.Если он не проверяет настройки Visual Studio:

Инструменты - Параметры - Windows Forms Designer - Общие - AutoToolboxPopulate - True

Для получения дополнительной информации просто прочитайте Прохождение в MSDN .

0 голосов
/ 25 февраля 2011

В VS2010 после того, как вы создадите пользовательский элемент управления и скомпилируете его, VS автоматически добавит ваш компонент и сделает его видимым в своем пространстве имен на панели инструментов.Это можно сделать как в WPF, так и в старом стиле кода / компонентов ...

0 голосов
/ 25 февраля 2011

Не должно быть проблем с элементом управления, за исключением того, что у вас есть исключение, которое выдается в конструкторе или событии Load. Конструктор не может правильно отображать элемент управления.

0 голосов
/ 25 февраля 2011

Да, на панели инструментов щелкните правой кнопкой мыши и выберите «Выбрать элементы ...».Затем перейдите к «Компонентам .NET Framework» - там должны быть перечислены ваши элементы управления.Просто добавьте их.

0 голосов
/ 25 февраля 2011

Вы должны иметь возможность использовать пользовательский элемент управления в конструкторе Winforms.Однако сначала вы должны построить свой проект.Вы можете сделать это, зайдя в Build -> Build Solution или нажав F6.Тогда ваш элемент управления должен появиться в панели инструментов.

...