What's the easiest/most robust way of altering the DateTimePicker control to allow the user to enter 'null' values?
Placing an additional checkbox labeled something like "enable notification" that enables / disables the DateTimePicker.
Here is an interesting article on CodeProject. The author has overridden the Value property to accept Null value as DateTime.MinValue, while maintaining the validation of MinValue and MaxValue of the standard control. That's all there's to it.
Tri's solution did not quite cut it for me and so thought Mr. Grazioli and he did something about it: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
You don't need to modify it to do this.
The DateTimePicker in .net actually has a checkbox built-in.
Set the ShowCheckBox property to true.
Then you can use the Checked property to see if the user has entered a value.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx