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 :
J’ai essayé ceci avec un tableau de contrôles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If TestVide() = False Then e.Cancel = True Else Me.Close() End If
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
J’ai essayé aussi avec :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Ç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).
Partager