DateTimePicker never updates!

The standard diagnostic for a form not updating its visual appearance, but you seeing the property update with the debugger just fine is using the wrong form instance. Like this for example:

var frm = new Form1();  // Wrong!!
frm.UpdateBirthDay(user.BirthDay);

Diagnose this by altering your code like this:

dateTimePicker1.Value = user.BirthDay;
this.Show();   // <=== add this

One small hint with this trouble: my problem was that I had the DateTimePicker set to checked=false and (by mistake) ShowCheckbox=false; With this setup I could set to DTPicker whatever value I wanted, but it won't udate itself.