Problème avec le standard DateTimePicker en VB .NET

Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005 - 11 févr. 2005 à 11:24
ikram311 Messages postés 17 Date d'inscription mardi 21 septembre 2004 Statut Membre Derniè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

Merci de vos réponses

14 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 févr. 2005 à 11:29
que veux-tu faire au juste ?

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005
11 févr. 2005 à 11:34
Permettre au user de sélectionner une date.
0
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 1
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


0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 févr. 2005 à 11:47
utilise plutot l'évènement Validating

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
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 ?

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 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 ?
0
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 1
11 févr. 2005 à 11:54
y a pas 10.000 lignes de codes dans contrôle pareil


0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 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.
0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005
11 févr. 2005 à 12:50
Merci quand meme pour ton d'aide et je vais effectivement faire un petit système du genre comme tu dis plus haut.
0
ikram311 Messages postés 17 Date d'inscription mardi 21 septembre 2004 Statut Membre Dernière intervention 4 octobre 2005
4 juil. 2005 à 23:52
salut
jé le meme probleme avec dateTimePicker, je sais pas si tas trouvé un moyen pour résoudre ce probleme.
0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 septembre 2005
5 juil. 2005 à 09:04
Lequel exactement ikram311 car j'en est soulevé plusieurs ?
0
Hebus1976 Messages postés 12 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 29 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



Me.ListBox1.Items.Add("Ligne " & i)
i = i + 1



End
Sub

Bonne prog
0
ikram311 Messages postés 17 Date d'inscription mardi 21 septembre 2004 Statut Membre Derniè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
0
Rejoignez-nous