Problème avec le standard DateTimePicker en VB .NET
Hebus1976
Messages postés12Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 septembre 2005
-
11 févr. 2005 à 11:24
ikram311
Messages postés17Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 4 octobre 2005
-
8 juil. 2005 à 22:40
J'utilise un DateTimePicker dans mon form mais l'évènement suivant n'est jamais détecté. Et pourtant, j'ouvre le DateTimePicker, je change de mois puis je sélectionne une date.
Private
Sub DateTimePicker1_Click(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles DateTimePicker1.Click
Autre chose, il y a un bug avec les évènements suivants :
Private
Sub DateTimePicker1_TextChanged(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles DateTimePicker1.TextChanged
Private
Sub DateTimePicker1_ValueChanged(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles DateTimePicker1.ValueChanged
Lorsque je change de mois, le DateTimePicker rentre dans une boucle infinie de ces évènements puisqu'il passe continuellement au mois suivant et ainsi de suite.
A essayer. Mettez une msgbox dans un de ces évènements et en moins de 30 sec vous avez des dizaines de msgbox à l'écran.
Quelqu'un est-il courant de ces pbs ?
Y-a-t-il une solution car j'ai vraiment besoin de ce composant ?
Je parle d'une solution simple car bien entendu je peux toujours refaire un composant équivalent mais je n'ai ni le temps, ni l'envie.
Ah oui, si ca a un lien je développe sous XP-Pro Sp1
zippro4012
Messages postés216Date d'inscriptionmardi 15 juin 2004StatutMembreDernière intervention26 février 20061 11 févr. 2005 à 11:36
C'est Microsoft... donc c'est buggué
Je ne crois pas que y il de solution a ce problème. Mais tu peut quand même faire un petit système du genre :
Dim Flag as Boolean
Private Sub DateTimePicker1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
If Flag = False Then
'Action a effectuer si l'utilisateur change la valeur
Else
'Action a effectuer si le programme change la valeur
Flag = False
End if
End Sub
Et juste avant de changer la valeur par la programme, il faut écrire :
Flag = True
Hebus1976
Messages postés12Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 septembre 2005 11 févr. 2005 à 11:40
Pour etre plus précis :
j'ai besoin de l'un de ces évènements car je calcule d'autres dates d'apres celle sélectionnée par le user dans le DateTimePicker et en plus je vérifie si la date choisie est valide (jour de travail, jour férié ou week-end) dans une base donnée SQL.
Vous n’avez pas trouvé la réponse que vous recherchez ?
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 11 févr. 2005 à 11:50
"C'est Microsoft... donc c'est buggué
Je ne crois pas que y il de solution a ce problème. Mais tu peut quand même faire un petit système du genre... "
C'est tellement facile d'écrire ce genre de conneries... es-tu au moins cappable de développer une application de 10.000 lignes de codes sans qu'il y ait un seul bug ?
Hebus1976
Messages postés12Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 septembre 2005 11 févr. 2005 à 11:52
Quand le user click sur mois suivant, le prog sélectionne automatiquement une date et donc déclenche l'évènement value_changed. Comment je fais pour gérer ca ?
Hebus1976
Messages postés12Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 septembre 2005 11 févr. 2005 à 11:59
validating bien sur, mais je fais un truc interactif et je veux faire mon calcul des que la date est sélectionnée et pas quand le composant perd le focus.
Et entre nous, si je voulais faire un truc simple a realiser je n'aurais pas posé la question sur ce site.
Hebus1976
Messages postés12Date d'inscriptionvendredi 4 juin 2004StatutMembreDernière intervention29 septembre 2005 5 juil. 2005 à 09:45
Si tu parles des pbs concernant les évènements du DateTimePicker, j'ai contourné le pb. En fait, j'utilise l'évènement TextChanged et mon code est donc déclenché meme lorsque le user change de mois ou d'année. Mais ca marche....
Quant au pb de boucle infinie, il arrive uniquement lorsque tu ajoutes un msgbox dans cet évènement du DateTimePicker.
Essaies ca et tu verras qu'il n'y a pas de pb de boucle infinie :
Private i
As
Integer = 0
Private
Sub DateTimePicker1_TextChanged(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles DateTimePicker1.TextChanged
ikram311
Messages postés17Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention 4 octobre 2005 8 juil. 2005 à 22:40
salut
jé le pb de boucle infini, jé dejà travaillé avec datetimepicker sur le meme projet mé il pose aucun probleme ,mé comme tu as dis lorsque j utilise un msgbox il rentre ds une boucle infinie.
je sé pas si tu as une solution en utilisant msgbox car jen ai besoin pour faire un test