1.
http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
2. Лови момент изменения с "не нажата" на "нажата" (т.е. храни предыдущее состояние кнопки).
по dll - можно по форме плагинов. Загрузить сборку в текущий домен приложения. Найти в ней типы, которые надо подключить (в плагинах нужные типы реализуют какой-то интерфейс). Создать экземпляр заданного типа с помощью класса Activator ну и т.д.