Я создал пользовательский элемент управления в своем проекте, и после создания проекта мне нужно поместить его в свой набор инструментов и использовать его как общий элемент управления. но я не могу. это UserControl
находится в пространстве имен моего проекта, и я попытался Choose Item
открыть меню правой кнопкой мыши, но не нашел способа добавить его.
94
UserControl
находится за пределами текущего проекта.Щелкните правой кнопкой мыши на панели инструментов, затем нажмите «выбрать элемент» в контекстном меню. Появится диалоговое окно с зарегистрированными компонентами. в этом диалоговом окне нажмите «Обзор», чтобы выбрать сборку с пользовательским элементом управления, который вы хотите использовать.
PS. Эта сборка должна быть предварительно зарегистрирована.
источник
Я обнаружил, что пользовательский элемент управления должен иметь конструктор без параметров, иначе он не будет отображаться в списке. по крайней мере, так было в vs2005.
источник
Использование VS 2010:
Допустим, у вас есть проект Windows.Forms. Вы добавляете в проект UserControl (скажем, MyControl) и разрабатываете его. Теперь вы хотите добавить его в свой набор инструментов.
Как только проект будет успешно построен, он появится в ваших компонентах Framework. Щелкните правой кнопкой мыши панель инструментов, чтобы открыть контекстное меню, выберите «Выбрать элементы ...» и перейдите к имени вашего элемента управления (MyControl) на вкладке «Компоненты .NET Framework».
Преимущество перед использованием dll: вы можете редактировать элементы управления в том же проекте, что и ваша форма, и форма будет построена с новыми элементами управления. Однако контроль будет доступен только для этого проекта.
Примечание. Если у элемента управления есть ошибки сборки, устраните их, прежде чем переходить к содержащим формам, иначе у дизайнера случится сердечный приступ.
источник
У меня было много пользовательских элементов управления, но один отказался отображаться на панели инструментов , хотя я перестроил решение, и он был отмечен в диалоговом окне « Выбрать элементы ... ».
Решение:
Обратите внимание, что для этого также требуется, чтобы у вас был включен параметр AutoToolboxPopulate . Как следует из ответа @DaveF.
Альтернативное решение: я не уверен, работает ли это, и я не мог попробовать, так как я уже решил свою проблему, но если вы сняли флажок с пользовательского элемента управления в диалоговом окне Выбрать элементы ... , нажмите OK, а затем откройте его резервную копию и проверил пользовательский элемент управления. Это тоже может сработать.
источник
Есть несколько способов.
В исходном проекте выберите File | Export template
Затем выберите ItemTemplate и следуйте указаниям мастера.
Переместите свой UserControl в отдельную ClassLibrary (и исправьте пространства имен и т. Д.).
Добавьте ссылку в библиотеку классов из проектов, которым она нужна. Не беспокойтесь о GAC или чем-то еще, только о файле DLL.
Я бы не советовал помещать UserControl в обычный ToolBox, но это можно сделать. Смотрите ответ от @Arseny
источник
В моем случае я не видел никаких элементов управления в проекте. Только щелкнув правой кнопкой мыши на toolBox и выбрав «Показать все», я увидел их, но все же они были отключены ...
Изменение типа проекта с приложения Windows на ClassLibrary внесло исправление.
источник
Базовый вопрос, если вы используете дженерики в своем базовом элементе управления. Если да:
допустим, у нас есть контроль:
public class MyComboDropDown : ComboDropDownComon<MyType> { public MyComboDropDown() { } }
MyComboDropDown не позволяет открывать дизайнер на нем и не будет отображаться в панели инструментов. Зачем? Поскольку базовый элемент управления еще не скомпилирован - когда выполняется MyComboDropDown. Вы можете изменить это:
public class MyComboDropDown : MyComboDropDownBase { public MyComboDropDown() { } } public class MyComboDropDownBase : ComboDropDownComon<MyType> { }
Затем после перестройки и сброса панели инструментов он должен увидеть MyComboDropDown в дизайнере, а также в панели инструментов
источник
Проблема с моим дизайнером была 32 против 64 бит. Я мог бы добавить элемент управления в панель инструментов после выполнения инструкций в статье « Невозможно добавить элементы управления из 64-разрядных сборок в панель инструментов» или «Использование в конструкторах в рамках статьи MS KB в среде Visual Studio IDE» .
источник
Перекомпиляция помогла мне!
источник