Элементы управления находятся в DLL. То есть мы имеет возможность поместить элемент управления в DLL. Организуется он практически точно также как и обычная DLL за исключением того что класс должен быть порожден от System.Windows.Forms.Control. Смотрим пример:
namespace MyControl { using System; using System.Windows.Forms; using System.Drawing; public class HelloWorldControl : System.Windows.Forms.Control { protected override void OnPaint(PaintEventArgs e) { e.Graphics.DrawString("First Control", Font, new SolidBrush(ForeColor), ClientRectangle); } } }
Bat файл (см. "Шаг 1 - Что такое Bat файлы"):
csc.exe /target:library /out:MyControl.dll MyControl.cs
Результат сформированная DLL
System.Windows.Forms.Control обеспечивает общее управления для пользовательского элемента. Он может реагировать на ввод пользователя через клавиатуру или мышку. Определяет как будет прорисован элемент управления и его границы. Так же есть класс UserControl от которого то же можно наследовать элементы управления.