Приветствую.
Почитал ответы. Есть несколько комментариев.
1. Log4Net отличная штука. Вам уже написали про него, его и берите. Ставьте через NuGet.
2. Не думайте делать логирование в самой БД, Никаких триггеров и т.д. Вообще забудьте о том, что в БД можно что-то делать, кроме хранения данных. Есть только одна причина что-то делать в БД - это жесткое требование заказчика, которое нельзя изменить.
3. Я не думаю, что Вам нужно записывать именно изменения контролов. Скорее Вам нужно записывать не просто изменения контролов, а изменения внесенные в хранилище данных. Т.к. пока я редактирую запись, это не надо логировать, надо логировать то, что я сохранил изменения.
4. У вас есть слой бизнес логики, вот там и логируйте информацию о том, что происходит в системе.
5. Есть еще хорошая вещь под названием аспектно-ориентированное программирование. Посмотрите что это, и как может помочь в создании системы логирования.