Задача: необходимо отследить изменения внесенные пользователем в значение контролла
Для этого добавляем слушателя события
textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
...
dateTimePicker1.ValueChanged += new EventHandler(dateTimePicker1_ValueChanged);
После этого как только мы программно изменяем свойство Text или Value (например при переходе между записями) генерируется событие при этом для TextBox я могу отличить программный ввод от пользовательского по свойству Modified, а вот для DateTimePicker ничего подобного не обнаружил.
Испробованные варианты:
1. Биндить свойство Value DateTimePicker'а на переменную DateTime, результат аналогичный.