Сначала несколько слов о том, что такое компонет. Все вы знакомы с различными элементами пользовательского интерфейса - кнопками, checkbox'ам, label'ами и другое. Они располагаются в Visual Studio на панели Toolbox и могут быть перенесены на форму Windows-приложения. Так вот, все эти вещи и есть компоненты.
Кроме того, компоненты отличаются тем, что их свойства можно задавать через окно Properties все той же Visual Studio.
Начинаем писать наш первый компонент. Запустите Visual Studio и в качестве типа проекта для C# выберите Windows Control Library.
Появится заготовка для вашего компонента. Внешне она будет выглядеть как форма, только границ не будет. И это правильно, так как компоненты не могут существовать сами по себе (поэтому и граница им не нужна) - а только в некотором контейнере (например, форме).
Обратите внимание, что в окне Solution Explorer появится новый значок для нашего компонента.
Для того, чтобы наш первый компонент не выглядел совсем уж пустым, добавим на него label.
Переходим к коду нашего компонента. Для этого, например, можно выбрать в контекстном меню компонента в Solution Explorer пункт View Code.
В получившийся код добавьте свойство для компонента. Например, такие: