MasterMan342, для вопросов вида "как использовать фичу языка" существует MSDN - там подробно описывается, и с примерами. Нужно лишь знать, как фича называется на английском, чтобы задать поиск.
Вот тут пример, как описывается событие.
http://msdn.microsoft.com/en-us/library/8627sbea%28v=VS.80%29.aspxНужно иметь делегат - это тип, аналогичный указателю на функцию в C/C++, но более хитрый, поскольку работает с объектами. Стандартный делегат называется EventHandler. У него 2 параметра: sender типа object (указатель на объект, который сгенерировал событие) и структура типа EventArgs. Если вместе с событием нужно передать какую-то дополнительную информацию (например, у мыши - координаты и т.п.), то делается собственная структура - потомок от EventArgs, в которой вставляются нужные поля-параметры. Её можно будет передавать через EventHandler.
Затем нужно иметь событие типа делегата. Допустим, ты называешь событие Selected.
В-третьих, нужно иметь метод объекта, который генерирует событие. По соглашению такие методы начинаются с On... после чего идёт имя события. Т.е. OnSelected. Когда внутри кода твоего контрола принимается решение, что событие произошло - в этом месте надо вызвать такой метод. Внутри метода пишется стандартный код посылки сообщения всем подписавшимся на событие. При необходимости делаются подготовительные действия (например, заполнить поля-параметры в твоей EventArgs).
Что касается появления события в свойствах редактора форм, то первый вопрос - какие формы. Windows Forms или WPF? В общем случае этот эффект достигается при помощи пометки события специальным атрибутом (пишется в квадратных скобках над помечаемым элементом кода).