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 :

Check textbox vide


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Par défaut Check textbox vide
    Bonjour,

    En parcourant vos forums, je suis tombé sur un code qui m'a bien plus dans sa syntaxe et plutôt utile pour un utilisateur. Cependant, il est fait pour VB6 et antérieur, donc je n'arrive pas à l'adapter en VB.NET :



    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
    Dim ctl As Control
    Dim name As Object
     
    Private Sub Command1_Click() 'pour le test
     
    CheckIftxtEmpty frm, ctl
     
    End Sub
     
    Sub CheckIftxtEmpty(frm As Form, ctl As Control)
        Dim Rep As String
        For Each ctl In Controls
            If TypeOf ctl Is TextBox Then
                If Trim(ctl.Text) = "" Then
                  Rep = MsgBox("Le champ: " & ctl.name & "est vide, Veuillez        remplir ?", vbYesNo)                  'Affiche le nom de la textbox vide
                  If Rep = vbYes Then
                        ctl.SetFocus         'met le focus sur le champ vide
                        Exit For
                  End If
                End If
            End If
        Next ctl
    End Sub
    A la base, ce n'est pas pour une "windows form" mais pour une page en ASPX donc je ne connais pas le mot clé à mettre. Ensuite, il m'indique l'erreur suivante en soulignant "ctl.Text", "SetFocus" & "ctl.name" :
    'Text', 'name', 'SetFocus' n'est pas un membre de 'System.Web.UI.Control'.
    Si vous pouviez m'aider, je vous en remercie d'avance

  2. #2
    Membre expérimenté Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Bonjour,

    Tu trouveras la réponse sur ce sujet :
    http://www.developpez.net/forums/d61...-textbox-form/

    En vb.net ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For each c as Control in me.controls
        if c is textbox then
            if c.Text = "" then
                msgbox("Champ vide")
                c.setfocus
                exit sub
            end if 
         end if
    Next

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Par défaut
    Merci de ta réponse, cependant, j'ai le message suivant pour "textbox" dans if c is textbox then
    'TextBox' est un type et ne peut pas être utilisé en tant qu'expression.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Par défaut
    J'ai remodelé le code, il n'y a pas d'erreur dans VS, mais quand je clique sur mon bouton, rien ne se produit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            For Each c As Control In Me.Controls
                If TypeOf c Is TextBox Then
                    If CType(c, TextBox).Text = "" Then
                        MsgBox("Champ vide")
                        'c.setfocus()
                        Exit Sub
                    End If
                End If
            Next

  5. #5
    Membre expérimenté Avatar de Neiflheim
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            For Each c As Control In Me.Controls
                If TypeOf c Is TextBox Then
                    If c.Text = "" Then
                        MsgBox("Champ vide")
                        c.Focus()
                        Exit Sub
                    End If
                End If
            Next
        End Sub
    J'ai testé ce code et il marche (j'ai laissé la valeur c.text comme telle), il affiche bien la boîte de dialogue.

    Vérifie que tes champs ne contiennent pas d'espaces en trop (avec un trim éventuellement)

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 53
    Par défaut
    Etrange car moi avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            For Each c As Control In Me.Controls
                If TypeOf c Is TextBox Then
                    If c.Text = "" Then
                        MsgBox("Champ vide")
                        c.Focus()
                        Exit Sub
                    End If
                End If
            Next
        End Sub
    J'obtiens une erreur sur "c.Text" :
    'Text' n'est pas un membre de 'System.Web.UI.Control'.

Discussions similaires

  1. [XL-2003] Comment charger un userfrom avec tous les TextBox vides
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/09/2010, 22h37
  2. Verifier si textbox vides
    Par BenxToutBenx dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/12/2009, 21h50
  3. Réponses: 10
    Dernier message: 17/04/2009, 20h20
  4. probleme textbox vide.
    Par zakaroh dans le forum C#
    Réponses: 20
    Dernier message: 11/08/2008, 10h57
  5. CustomValidator inopérant quand TextBox vide
    Par cyrano_de_bergerac dans le forum C#
    Réponses: 1
    Dernier message: 14/01/2008, 13h48

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