IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Vérification controles et form closing


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Par défaut 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 : 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
    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
    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 : 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
    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).

  2. #2
    Membre éprouvé
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 77
    Par défaut
    salut,

    pour la solution avec le tableau de contrôles, tu ne peux pas retourner sur ton form parce que ta fonction est toujours vraie :
    tu fais TestVide = True, mais jamais TestVide = False

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Par défaut
    Re,

    j'ai changé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 0 To 4
            	If Ctr(i).ToString.Length = 0 Or Ctr(i).Text = Nothing Then
                    TestVide = False 
            	MessageBox.Show("blablabla" & Ctr(i).Name, "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            	Ctr(i).Focus()
            	End If
            Next
    Mais j'ai le même comportement : pas de possibilité de retourner sur la form.

Discussions similaires

  1. Ajouter un controle à une form déformer
    Par wolfazer dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/07/2007, 22h59
  2. Réponses: 5
    Dernier message: 14/12/2006, 16h50
  3. [VB6] Controle en forme de tableau modifiable
    Par Vesta dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 12/08/2006, 12h48
  4. [Form close] Impossible de fermer une form
    Par valoji dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2006, 15h12
  5. [C#][Form.Closing]
    Par groskek dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/10/2005, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo