Vérification controles et form closing
Bonjour,
J’aimerai que sur l’évènement closing d’une form, il y ait une vérification du contenu de certains contrôles . Sur le premier controle vide, messagebox, je peux le compléter...
Sur cet évènement, j’ai ceci :
Code:
1 2 3 4 5
| If TestVide() = False Then
e.Cancel = True
Else
Me.Close()
End If |
J’ai essayé ceci avec un tableau de contrôles :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Function TestVide() As Boolean
Dim Ctr(4) As Control
Dim i As Integer
TestVide = True
Ctr(0) = ComboBox1
Ctr(1) = TextBox1
Ctr(2) = TextBox2
Ctr(3) = ComboBox2
Ctr(4) = TextBox3
For i = 0 To 4
If Ctr(i).ToString.Length = 0 Or Ctr(i).Text = Nothing Then
MessageBox.Show("blablabla" & Ctr(i).Name, "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Ctr(i).Focus()
End If
Next
Return TestVide
End Function |
Avec ce script, si par ex 2 contrôles sont vides, les messagebox s’affichent mais je ne peux pas retourner sur la form pour compléter les infos des contrôles.
J’ai essayé aussi avec :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Function TestVide() As Boolean
If Me.ComboBox1.Text = Nothing Then
TestVide = False
MessageBox.Show("blablablaComboBox1", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Me.ComboBox1.Focus()
Else
TestVide = True
End If
If Me.TextBox1.Text = Nothing Then
TestVide = False
MessageBox.Show("blablablaTextBox1", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Me.TextBox1.Focus()
Else
TestVide = True
End If
End Function |
Là je peux retourner compléter le contrôle s’il est vide mais au moment où la form se ferme, j’ai une exception stackoverflow.
Ça ne doit pas être bien compliquer mais je coince pour parvenir au résultat en utilisant le moins de ressources possibles (d’où le tableau de contrôles).