Я считаю, что последнее утверждение неверно, на мой взгляд. Я создаю пользовательские элементы управления по разным причинам.
Основная причина в том, что если я, скажем, разрабатываю интерфейс из нескольких элементов управления, сгруппированных вместе.
Сначала я создаю библиотеку классов, а затем добавляю в нее пользовательские элементы управления. Теперь, если мне нужно изменить какую-либо часть логики работы пользовательского элемента управления, я могу очень легко. Также эту библиотеку классов можно использовать несколько раз.
Также в одной и той же классной библиотеке у меня может быть несколько классов, которые можно использовать совместно с любым из моих пользовательских элементов управления.
Это основная причина, по которой я использую пользовательские элементы управления. И если вы внесете изменения в свой пользовательский элемент управления или библиотеку классов. как только вы построите работу. dll будет динамически обновляться в папке bin.
Поэтому, если я ссылаюсь на это в другом проекте, эти изменения также появятся в новом проекте.
Кроме того, он не использует те же процедуры рисования, что и форма, и все, что вы загрузили в форму.
Таким образом, пользовательские элементы управления дают нам возможность быть очень модульными. И я могу иметь несколько пользовательских элементов управления, которые совместно используют базовые классы библиотеки классов ... Таким образом, цель пользовательского элемента управления - это просто не для одного проекта. В этом отношении ограничений нет. Джефф
UserControl
это действительно «составной» элемент управления (элемент управления, созданный из других элементов управления), тогда как пользовательский элемент управления на самом деле является элементом управления, разработанным пользователем.