Как добавить новый элемент управления пользователя в панель инструментов или новую Winform?
У меня есть существующая библиотека (а не приложение Winforms), которая поставляет некоторые Winforms в приложение bona-fide Windows. Внутри этой библиотеки я хотел бы создать User Control для группировки некоторых элементов управления вместе. Для этого я щелкнул правой кнопкой мыши, Add, User Control и перетащил некоторые элементы управления в новый элемент управления пользователя.
До сих пор так хорошо. Пользовательский элемент управления даже имеет требуемый значок User Control. Но перетаскивание нового User Control из Обозревателя решений в новую пустую Winform не работает (я получаю круг с линией через него), и перетаскивание его на панель инструментов тоже не работает (даже если я получаю знак + когда я перетаскиваю его над панелью инструментов).
Есть ли какая-то магия XML или что-то еще, что мне не хватает, чтобы сделать эту работу?
Примечание. У меня были некоторые проблемы с Visual Studio 2008, которые мне удалось исправить, следуя обходным решениям, которые можно найти здесь. Теперь я могу получить элементы управления пользователя, которые я добавил в свой существующий проект, в панель инструментов, просто перестроив проект.
Ответы
Ответ 1
Предполагая, что я понимаю, что вы имеете в виду:
-
Если ваш UserControl
находится в библиотеке, вы можете добавить это в панель инструментов с помощью
Панель инструментов → щелкните правой кнопкой мыши → Выбрать элементы → Browse
Выберите свою сборку с помощью UserControl
.
-
Если UserControl
является частью вашего проекта, вам нужно всего лишь построить все решение. После этого ваш UserControl
должен появиться в панели инструментов.
В общем случае невозможно добавить элемент управления из обозревателя решений только из панели инструментов.
![Enter image description here]()
Ответ 2
Один из способов получить эту ошибку - это попытка добавить usercontrol к форме, в то время как проект настроен на компиляцию как x64. Visual Studio бросает бесполезное: "Не удалось загрузить элемент панели инструментов, он будет удален из панели инструментов".
Обходной путь заключается в разработке с "Any CPU" и компиляции до x64 по мере необходимости.
Ссылка: https://support.microsoft.com/en-us/kb/963017