la ça me fait trop de ligne de code, je suis sur que j'peu réduire tous ça.
en faite je veux que quand la valeur est nul ( "" ) il écrive dans le label Error en rouge.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 26 oct. 2003 à 18:12
ben en fait, le mieux, c'est de créer un groupe de contrôle de TextBox (même nom, mais un index différent pour chacun). et tester tes valeurs par une boucle.
DarK Sidious
[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
PatDeLaYaute
Messages postés133Date d'inscriptiondimanche 28 avril 2002StatutMembreDernière intervention15 janvier 20093 26 oct. 2003 à 21:15
Salut,
voici un petite astuce :
Déclare une variable "MaVar" as integer
Puis dans tous tes textbox dans l'evenement "LostFocus" met cette fonction :
If TextBox.Text <> "" then
MaVar = MaVar + 1
Else
If MaVar > 0 then MaVar = MaVar - 1
End If
Explications :
Quand tu lance ton programme et a supposer que tous tes textbox sont vide, ta variable "MaVar" est a zéro.
Si tu rempli un Textbox, lorsqu'il perd le focus celui incrémente "MaVar".
Donc si "MaVar" = 0 alors tous tes textbox sont vides
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention 4 juillet 2012 27 oct. 2003 à 10:20
Pascal Laurençon
Pour documenter un peu la méthode de Darksidious voilà à quoi cela devrais ressembler.
Private Sub TextBox_Color_Change(Index As Integer)
If Text1(Index).Text = "" Then
Text1(Index).ForeColor = vbRed
Text1(Index).Text = "ERROR"
Else
Text1(Index).ForeColor = vbBlack
End If
End Sub
Private Sub Text1_LostFocus(Index As Integer)
TextBox_Color_Change (Index)
End Sub
En gros sur le LostFocus des textbox tu vérifie par l'intermédiaire de la procédure TextBox_Color_Change si le TextBox est vide ou non et applique le traitement correspondant, l'emploi des groupes de control simplifie beaucoup le code.