Пользовательские элементы управления не отображаются на панели инструментов - PullRequest
72 голосов
/ 13 ноября 2008

У меня есть несколько пользовательских элементов управления, которые я создал в ProjectA. У меня есть ProjectB, который имеет форму окна, на которую я хочу поставить элементы управления. Оба эти проекта находятся в одном решении. Там есть ссылка на ProjectA из ProjectB, чтобы он мог «видеть» пользовательские элементы управления.

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

Я пытался восстановить. Я также удалил каталог bin, чтобы принудительно перестроить все.

Как получить VS2008 для заполнения панели инструментов с помощью пользовательских элементов управления?

Ответы [ 29 ]

1 голос
/ 09 августа 2013

Если вы пытались следовать всем остальным ответам, и он все еще не работает, следующие исправили это для меня:

  • Щелкните правой кнопкой мыши по вашему проекту, содержащему ваш элемент управления.
  • Выберите Properties.
  • В категории настроек Build убедитесь, что установлен флажок Register for COM interop.
0 голосов
/ 26 января 2017

Прежде чем пытаться добавить пользовательский элемент управления, убедитесь, что он совместим с .Net-версией вашего текущего проекта.

Я пытался добавить пользовательский элемент управления на панель инструментов для проекта для Windows CE 5.0 и .Net Compact v3.5 на VS2008. Я сделал все эти предыдущие предложения, но ничего не получалось. Элемент управления отображается, когда установлен флажок «Показать все», но он отображается серым цветом даже в меню «Выбор элементов».

Я создал новый проект с .Net v2.0, и он работал отлично.

0 голосов
/ 18 декабря 2016

Как уже упоминалось здесь вы должны указать Visual Studio загрузить свой пользовательский контроль в панели инструментов.

[ToolboxItem(true)]
public class PanelTitle : LabelControl  {
// Whatever code to override LabelControl here...
}
0 голосов
/ 14 июля 2016

Я пытался создать приложение только для x64, поэтому моя цель платформы была установлена ​​на x64, конечно.

Однако даже в 2016 году Visual Studio (devenv.exe) по-прежнему является 32-разрядным процессом и не может загружать 64-разрядные сборки. Чтобы проверить разрядность вашей Visual Studio, откройте диспетчер задач и отметьте *32 в названии процесса.

Обходной путь для просмотра элементов управления в наборе инструментов: установите целевую платформу на Any CPU в настройках проекта. При необходимости сделайте это для отладки и выпуска сборки.

0 голосов
/ 29 января 2013

Когда я пытался добавить свой UserControl на панель инструментов (щелкните правой кнопкой мыши на панели инструментов, выберите элементы, выберите мою DLL), отобразилось сообщение о том, что в моей DLL нет элементов управления.

Во всяком случае, проблема была решена, пытаясь создать форму в моей DLL в VS и добавив UserControl. Появилось сообщение об ошибке, в котором говорилось, что не было конструктора по умолчанию

public UserControl() {
...
}

Проектировщику это нужно, потому что он не может знать, что является допустимым аргументом. Как только я добавил пустой конструктор в UserControl, он был добавлен в панель инструментов без проблем.

0 голосов
/ 07 мая 2014

Проверьте путь проекта, избегайте & , # и т. Д.

Я переместил свое решение с drive:\work\c#\folder\ на drive:\work\folder, и оно решило проблему.

0 голосов
/ 01 апреля 2014

Симптом 1: Представления проекта для формы, UserControl и компонента были СБОЙ!

  • Сбой представления дизайна моей формы с сообщением "не удается найти элемент управления пользователя".
  • Если бы я мог заставить представление дизайна Формы работать, оно было бы очень нестабильным и испортило все к черту без каких-либо изменений.

Симптом 2: UserControl & Component в Toolbox

  • были затенены на панели инструментов и показывали искаженное имя
  • «Выбрать элемент» в контекстном меню панели инструментов показывал искаженное имя без пространства имен

Решение: установите для Public в vb позади UserControl & Component

0 голосов
/ 27 февраля 2014

В вашем UserControl убедитесь, что New объявлен Public . Он не будет отображаться, если он только что объявлен Sub New (по умолчанию это Friend).

0 голосов
/ 12 июня 2013

привет, ответ Ctrl + Alt + X возьми это, а потом у тебя будет TOOLBOX :)

...