Witam Was
W zdarzeniu DateTimePicker1ValueChanged wstawiłem instrukcję sprawdzającą datę, która wymusza ustawienie daty minimum 2 tygodnie wstecz. Wygląda ona jak niżej:
void DateTimePicker1ValueChanged(object sender, EventArgs e)
{
if (dateTimePicker1.Value.Date > (DateTime.Today).AddDays(-14))
{
dateTimePicker1.Value = (DateTime.Today).AddDays(-14);
MessageBox.Show("Musisz wybrać datę początkową conajmniej 14 dni wstecz");
}
}
Problemem jest to że jeżeli wstawię datę np 13 lub mniej dni, komunikat wyświetlany jest dwukrotnie. Wydaje mi się że pierwsza linia w instrukcji warunkowej wywołuje ponownie zdarzenie DateTimePicker1ValueChanged, ale po ustawieniu daty instrukcja warunkowa w drugim zdarzeniu powinna mieć wartość false i ciało wewnątrz pętli nie powinno być wykonywane. Drugi komunikat jest wywoływany drugiej linii w instrukcji warunkowej pierwotnego zdarzenia.
Jak tą sytuację poprawnie rozwiązać ?