frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008
-
16 avril 2008 à 10:08
frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008
-
16 avril 2008 à 16:51
Bonjour,
Je suis nouveau en VB.NET .
J'ai une form avec plusieur textbox dont je vérifie la saisie sur les evenements "validating", mais j'aimerais ne pas faire ces vérifications quand l'utilisateur clic sur le bouton "Annuler"
j'ai essayé de metre la propriété "CausesValidation=false" du bouton "Annuler" mais sans resultat.
frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008 16 avril 2008 à 11:05
Merci,
mais j'aimerais que la vérification du textbox "date" (par exemple) soit fait à la sortie du champ, quand on passe au champ suivant ou quand on clique sur le bouton "OK" et c'est seulement quand on clique sur "Annuler" que je ne vérifie rien.
C'est à dire que même si le champ date est érroné je puisse sortir de ma form.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 avril 2008 à 11:15
possible de tester quel bouton a pris le focus...
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If Me.ActiveControl IsNot BtnCancel Then
e.Cancel TextBox1.Text.Length 0
End If
End Sub
Private Sub TextBox2_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox2.Validating
If Me.ActiveControl IsNot BtnCancel Then
e.Cancel TextBox2.Text.Length 0
End If
End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
Me.Close()
End Sub
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 avril 2008 à 12:00
ca fonctionne, je l'ai testé....
par contre, il faut bien évidemment spécifier que le bouton BtnCancel ne doit pas déclencher de Validation.....
donc son CausesValidation est à False
frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008 16 avril 2008 à 12:03
Merci, mais j'ai déja essayé.
ce code marche que si on clique sur la croix rouge de la fernetre ou alt+F4 mais pas si l'on utilise un bouton "Annuler" de la form
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 avril 2008 à 12:21
je viens de retester mon code (j'ai tout retapé et recréé ma Form)
ca fonctionne pourtant bel et bien...
je donne le focus a TextBox1, je n'y saisie rien, et je quitte la form en pressant tranquillement BtnCancel...
(je le répète, BtnCancel.CausesValidation = False)
Private Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
If Me.ActiveControl Is BtnCancel Then
If TextBox1.Text.Length = 0 Then
MessageBox.Show("TextBox1 n'est pas renseigné")
e.Cancel = True
End If
End If
End Sub
Private Sub TextBox2_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox2.Validating
If Me.ActiveControl Is BtnCancel Then
If Not IsNumeric(TextBox1.Text) Then
MessageBox.Show("TextBox2 doit contenir un numérique")
e.Cancel = True
End If
End If
End Sub
Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
Me.Close()
End Sub
frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008 16 avril 2008 à 13:23
Je vien de tester t'on code est il y à un petit problême car tu test (par exemple)si le "textbox1.text.lenght=0" que si le controle actif est "BtnCancel" ce qui n'est jamais le cas.
"If Me.ActiveControl Is BtnCancel Then "
Tu peut fermer la fenetre mais tu ne controle rien dans tes champs.
frnecct
Messages postés10Date d'inscriptionmercredi 25 juillet 2007StatutMembreDernière intervention24 novembre 2008 16 avril 2008 à 13:36
Super ça marche, mais je vais être un peu pénible.
Si l'on ajout le parametre suivant à la form:
me.CancelButton="BtnCancel"
pour que le bouton "Annuler" soit exécuté en appuyant sur Esc ca ne marche plus.