DateTimePicker nunca atualiza!

eu tenho algunsDateTimePickers em um formulário que nunca é atualizado.
eu tenteiValue eText, Invalidate() e depoisUpdate() e tambémRefresh()...

Nada parece mudar seus valores a partir da data atual!
Não importa o que eu defina, as datas atuais são (relativamente) hoje!

Isso é um bug do .NET 3.5 ou o quê?
(Não, não posso usar o .NET 4 neste projeto.)

Se você realmente quer algum código, então aqui está:dateTimePicker1.Value = user.BirthDay;. Além disso, se eu escreverMessageBox.Show(user.BirthDay.ToString()); Recebo uma caixa legal informando o aniversário do usuário (meu aniversário, na minha máquina). (Portanto, há um valor na variável ...)

Devo também mencionar que eles são apenas para datas e não horários?

Ok, vejo que preciso escrever mais:

Primeiro de tudo, o método no qual o controle é atualizado é assinado noForm.Load evento. Conseqüentemente, é chamado / acionado / invocado quando o formulário e os controles estão visíveis e "em execução".

Em segundo lugar, observe esses trechos de código e seus resultados:

MessageBox.Show(user.BirthDay.ToString()); // Shows 12.12.1995 (in my regional format)
dateTimePicker1.Value = user.BirthDay; // assigned to 12.12.1995
MessageBox.Show(dateTimePicker1.Value.ToString()); // Shows today's date!

Isso não é legal ... A saída é a data de hoje. (Hoje, quero dizer o dia em que o código foi executado.)

dateTimePicker1.MinDate = new DateTime(1900,1,1); // January 1st, 1900
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // January 1st, 1753 ...

Mau controle! 1900 não é igual a 1753!

dateTimePicker1.MaxDate = DateTime.Today;
// In reality, I need it to today's date
MessageBox.Show(dateTimePicker1.MinDate.ToString()); // December 31st, 9998

Time warp? O_O

De qualquer forma, o código inteiro fica assim:

public void Form_Load(object sender, EventArgs e)
{
    this.user = User.Load(path);
    // this.user is a field.
    // path is a static field which holds the absolute path of the file in which is serialized that data of the user.

    MessageBox.Show(user.BirthDay.ToString()); // Shows 12.12.1995 (in my regional format)
    dateTimePicker1.Value = user.BirthDay; // assigned to 12.12.1995
    MessageBox.Show(dateTimePicker1.Value.ToString()); // Shows today's date!

    dateTimePicker1.MinDate = new DateTime(1900,1,1); // January 1st, 1900
    MessageBox.Show(dateTimePicker1.MinDate.ToString()); // January 1st, 1753 ...

    dateTimePicker1.MaxDate = DateTime.Today;
    MessageBox.Show(dateTimePicker1.MinDate.ToString()); // December 31st, 9998
}

Então, alguma solução? xC

questionAnswers(2)

yourAnswerToTheQuestion