Member 13920025 Ответов: 1

Для создания пользовательского элемента управления требуется определенный тип проекта?


I used a freely available User Control solution project as template to create a new User Control from scratch for myself. As far as I can see my project has everything important included when I compare it with the template project, but it seems like I did something fundamental wrong. When I hit Debug in the template project(Output Type is Class Library), VS runs a test application called UserControlTestContainer. When I hit Debug in my project VS simply shows the error "Output Type of Class Library cannot be started directly". The only thing I could imagine is that I eventually used the wrong Project template. When I want to create a new UserControl, is Windows Forms App the wrong choice?. Otherwise I really don't know the problem.

Что я уже пробовал:

Может ли это быть так Библиотека Управления Windows Forms будет ли правильный тип проекта?

0x01AA

Скорее всего:
Исходное решение имеет тестовый проект, который устанавливается в качестве проекта по умолчанию для запуска

В то время как ваш проект имеет только проект библиотеки классов, который, как вы знаете, не может быть запущен без хост-приложения.

1 Ответов

Рейтинг:
8

OriginalGriff

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

Затем добавьте ссылку на библиотеку классов в тестовом проекте и перетащите элемент управления UserControl на поверхность конструктора формы.


Member 13920025

Спасибо, что объяснили свой метод. Другое решение с библиотекой управления Windows Forms тоже будет работать нормально. Я проверил это сейчас. С помощью этого типа проекта я могу запустить тестовое приложение в режиме отладки независимо от типа вывода ClassLibrary или приложения для тестирования моего пользовательского элемента управления. Тогда я смогу построить файл релиза .dll или exe и добавьте новый пользовательский элемент управления в Панель инструментов в качестве нового элемента панели инструментов в другом решении.