Подтвердить что ты не робот

Контроль против UserControl в WinForms?

В чем разница между элементом управления и UserControl в .NET WinForms? Я хочу создать пользовательский элемент управления, но с которого мне следует унаследовать? Я всегда использовал Control в прошлом без каких-либо проблем, но является ли "рекомендуемым" способом создания настраиваемого элемента управления?

4b9b3361

Ответ 1

Вот хорошая статья об этом вопросе. пользовательские элементы управления

Короче говоря

Элемент управления либо наследуется, либо полностью настраивается. Вы сами пишете и обрабатываете многие события. Вы можете даже контролировать, как и когда элемент управления выполняется с помощью использования GDI + рисунок.

Пользователь UserControl представляет собой набор элементов управления, которые вместе используются для использования определенным образом. Например, вы можете разместить GroupBox, который содержит текстовые поля, флажки и т.д. Это полезно, когда вам нужно разместить одну и ту же группу элементов управления в нескольких формах или вкладках. Примечание. Вы также можете написать некоторые пользовательские события и рисунок для UserControls.

Ответ 2

Управление пользователями: любой элемент управления, унаследованный от класса UserControl; Эти стили элементов управления имеют разметку, связанную с ними, и может иметь выделенный код, поддерживающий тип вашего проекта (может ли ваш проект быть веб-сайтом или онлайн-приложением). Эти элементы управления не слишком удобны для повторного использования. они превосходные кандидаты для использования в качестве представлений в MVC (Model-View-Controller).

Пользовательское управление: любой элемент управления, унаследованный от управления, или WebControl, или CompositeControl, или DataBoundControl, или других базовых категорий в .NET. Эти элементы управления не имеют связанной с ними разметки. они достаточно умны для того, чтобы быть инкапсулированными в DLL и многократно использоваться в нескольких приложениях. Пользовательские системы управления обычно требуют дополнительного понимания того, как работает интернет, и вы всегда пишете методы CreateChildren или Render, чтобы увидеть выходные данные элемента управления. С# Control