login  Naam:   Wachtwoord: 
Registreer je!
 Forum

DateTimePicker

Offline rredspike1 - 05/01/2009 20:38
Avatar van rredspike1Lid Wil graag de datetimepicker in een statement stoppen

Wil controleren als de datetimepicker een waarde heeft die eerder is dan de datum dan vandaag het dan een foutmelding geeft.

Hoe trotseer ik dit 'probleem'...ik heb al vanalles geprobeerd, maar kom er frustrerend niet goed uit.

6 antwoorden

Gesponsorde links
Offline nemesiskoen - 06/01/2009 00:26
Avatar van nemesiskoen Gouden medaille

PHP expert
  1. dateTimePickerInstantie.MaxDate = Date.Now()


Zoiets?
Offline Abbas - 06/01/2009 00:51
Avatar van Abbas Gouden medaille

Crew .NET
  1. If uwDateTimePicker.Value < DateTime.Now Then
  2. MessageBox.Show("Fout")
  3. End If
Offline rredspike1 - 06/01/2009 02:02
Avatar van rredspike1 Lid Nu heb ik dit, alleen krijg ik 2x een messagebox ipv 1x

  1. Private Sub dtpLeverdatum_Opdrachten_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpLeverdatum_Opdrachten.ValueChanged
  2. If dtpLeverdatum_Opdrachten.Value < DateTime.Now Then
  3. MessageBox.Show("De leverdatum kan nooit eerder zijn dan de datum van vandaag!", "Opgelet!")
  4. dtpLeverdatum_Opdrachten.Value = DateTime.Now
  5. End If
  6. End Sub
Offline Abbas - 06/01/2009 04:22
Avatar van Abbas Gouden medaille

Crew .NET
Natuurlijk, je gaat de MessageBox weergeven en daarna de datum van de DateTimePicker wijzigen waardoor het event nogmaals aangeroepen wordt. Hierna zal dit niet meer gebeuren want de datum staat dan al op de huidige datum van de eerste keer. Daarom krijg je dus 2x een MessageBox te zien! 
Offline rredspike1 - 06/01/2009 05:07
Avatar van rredspike1 Lid oooow hahaha...maar hoe zet ik dan de tijd weer terug na die messageBox op de juiste datum?

Trouwens heb DateTime.Today gebruikt ipv Now leek me wat verstandiger
Offline Mario - 16/01/2009 15:03
Avatar van Mario Crew algemeen Aangezien deze topic niet op solved staat, hier de oplossing :

oplossing 1

Zorg er voor dat de gebruiker op voorhand geen datum kan gebruiken < als today

  1. Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2. DateTimePicker1.MinDate = Now
  3. End Sub


oplossing 2

Controleer met het change event en geef een waarschuwing aan gebruiker en met het Closeup event pas je de datum aan.

Op deze manier krijg je dus slechts 1x een boodschap te zien.

  1. Private Sub DateTimePicker1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
  2. If DateTimePicker1.Value < DateTime.Now Then
  3. MessageBox.Show("De leverdatum kan nooit eerder zijn dan de datum van vandaag!", "Opgelet!")
  4. End If
  5. End Sub
  6.  
  7. Private Sub DateTimePicker1_CloseUp(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker1.CloseUp
  8. If DateTimePicker1.Value < DateTime.Now Then
  9. DateTimePicker1.Value = DateTime.Now
  10. End If
  11. End Sub


mvg,
RedThread
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.539s