Hallo, mir fällt zu folgendem Problem nichts sinnvolles ein:
Der Benutzer kann zu einem Seminar das Datum per DateTimePicker auspicken. Wenn das Datum in der Vergangenheit liegt, so soll ein Hinweis erscheinen wo gefragt wird ob man sich sicher sei.
(Ganz verhindern soll ich es nicht, falls man im nachhinein das Datum doch noch ändern möchte.)
Der Benutzer kann aber auch das Datum in der TextBox ändern, ohne den Picker auszuklappen. Dabei wird beim verlassen der Eintrag gespeichert.
Das Problem ist, wenn der Benutzer ein Datum aus der Vergangenheit auspickt und die Frage mit Ja beantwortet und dann den Picker verlässt, dann wird das onLeave Event ausgelöst, wo die selbe Frage nochmal gestellt wird.
Kann ich das onLeave Event iwie an der Stelle dann verhindern?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| private void dtpSeminarDatum_CloseUp(object sender, EventArgs e) { try { if (dtpSeminarDatum.Value < DateTime.Now) { MessageBox.Show("Sind Sie sicher, dass Sie ein Termin in der Vergangenheit eintragen möchten?", "Hinweis", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (DialogResult == DialogResult.Yes) { EditSeminarDatum(); } if (DialogResult == DialogResult.No) { return; } } } catch (Exception Ex) { Error.Show(Ex); } } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private void dtpSeminarDatum_Leave(object sender, EventArgs e) { try { if (dtpSeminarDatum.Value < DateTime.Now) { MessageBox.Show("Sind Sie sicher, dass Sie ein Termin in der Vergangenheit eintragen möchten?", "Hinweis", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (DialogResult == DialogResult.Yes) { EditSeminarDatum(); } } } catch (Exception Ex) { Error.Show(Ex); } } |