How can I set a DateTimePicker control to a specific date (yesterday's date) in C# .NET 2.0?
This question is related to
c#
winforms
datepicker
FYI: If you are setting the value, and not seeing anything - you might check to see if you have a 'CustomFormat' set - I just hit this and it was set to ' ' for the 1/1/1900 value (our 'not set' value) and set to MM/dd/yyyy if not.
Use the Value
property.
MyDateTimePicker.Value = DateTime.Today.AddDays(-1);
DateTime.Today
holds today's date, from which you can subtract 1 day (add -1 days) to become yesterday.
DateTime.Now
, on the other hand, contains time information as well. DateTime.Now.AddDays(-1)
will return this time one day ago.
If you want to set a date, DateTimePicker.Value is a DateTime object.
DateTimePicker.Value = new DateTime(2012,05,28);
This is the constructor of DateTime:
new DateTime(int year,int month,int date);
My Visual is 2012
Also, we can assign the Value to the Control in Designer Class (i.e. FormName.Designer.cs).
DateTimePicker1.Value = DateTime.Now;
This way you always get Current Date...
You can set the "value" property
dateTimePicker1.Value = DateTime.Today;
dateTimePicker1.Value = DateTime.Today();
This oughta do it.
DateTimePicker1.Value = DateTime.Now.AddDays(-1).Date;
Can't figure out why, but in some circumstances if you have bound DataTimePicker and BindingSource contol is postioned to a new record, setting to Value property doesn't affect to bound field, so when you try to commit changes via EndEdit() method of BindingSource, you receive Null value doesn't allowed error. I managed this problem setting direct DataRow field.
Source: Stackoverflow.com