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 :

Combobox vides ou pas . [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Par défaut Combobox vides ou pas .
    Bonjour à tout le forum,

    Débutant en visual basic, et j'utilise visual studio 2012, je créer des petits forms sous windows.
    Une petite question j'ai essayer de faire une boucle sur 3 combobox. Si une est vide alors il met un msgbox. Mais forcement ca marche pas!!!

    Ci-joint le code :

    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
    Public Class Form1
     
        Private Property ComboBox As Integer
     
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Dim i As Integer
            For i = 1 To 3
                If ComboBox & i = "" Then
                    MsgBox("Aucune donnée n' a étais rentrée", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Erreur")
                End If
            Next
     
            TextBox1.Text = "Nom n°1  " & ComboBox1.Text & vbCrLf & "Nom n°2  " & ComboBox2.Text & vbCrLf & "Nom n°3  " & ComboBox3.Text
     
        End Sub
     
    End Class

    Merci à tous pour vos réponse .

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Vous avez une solution présentée dans la FAQ : Comment intervenir sur un ensemble de même type de contrôles d'un conteneur ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Par défaut
    Que veux tu faire? Consultez le texte d'une comboBox1 (2?, 3?) en concaténant une variable integer avec le signe &? Si oui, ça ne marchera pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If ComboBox & i = "" Then
    Fais une liste ou un tableau de comboBox que tu parcours ensuite.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim lst as new list(of combobox)
    lst.add(cbx1)
    lst.add(cbx2)
    lst.add(cbx3)
     
    for each cb as combobox in lst
     
    if cb.text = string.empty then msg = "hey c'est vide!"
     
    endfor
    Si tu veux vraiment trouver une combobox par son nom, tu devra parcourir les controls de ton form.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Citation Envoyé par myNameIsFlo Voir le message
    Que veux tu faire? Consultez le texte d'une comboBox1 (2?, 3?) en concaténant une variable integer avec le signe &? Si oui, ça ne marchera pas
    C'est possible avec un DirectCast de la partie fixe du nom du comboBox concaténé avec la variable d'incrémentation passé en ToString, mais il vaut mieux utiliser les listes existantes.

    Citation Envoyé par myNameIsFlo Voir le message
    Fais une liste ou un tableau de comboBox que tu parcours ensuite.
    Pourquoi créer une liste, puisqu'il en existe déjà une contenant les contrôles. (la propriété Control.Controls : Obtient la collection de contrôles contenus dans le contrôle.)
    Il suffit de placer les 3 combobox dans un panel (nommé Panel1) et
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each cbo In Panel1.Controls.OfType(Of ComboBox)() 
      ' ...
    Next
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Par défaut Re
    Bonjour à tous et merci déjà pour vos réponse.
    J'ai réussi à faire ca qui fonctionne!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each ctrl In Me.Controls.OfType(Of ComboBox)()
                If ctrl.Text = "" Then
                    MsgBox("Aucune donnée n' a étais rentrée dans le combobox ", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Erreur")
                End If
            Next
    J'aurai juste aimé rajouter dans mon msgbox le n° du combobox qui est vide.

    Merci d'avance

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Soit tu indiques directement le nom du controle (ctrl.Name), soit tu utilises la propriété Tag (ctrl.Tag) dans laquelle tu places un texte de ton choix.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MessageBox.Show("Aucune donnée n'a été rentrée dans le combobox " & ctrl.Tag, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Citation Envoyé par Nicolas6728 Voir le message
    ComboBox & i = ""
    c'est quand même fou ce que vb laisse écrire par défaut ...


    options du projet, mettre option strict on, ca laisse écrire moins de bêtises dans le genre
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Par défaut Re
    Bonjour à tous,

    Merci pour vos réponse, ça fonctionne comme je veu.

    Je met le code pour les intéressés.
    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
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            For Each ctrl In Me.Controls.OfType(Of ComboBox)()
     
                If ctrl.Text = "" Then
                    ctrl.BackColor = Color.Red  ' colorise le fond
     
                    MsgBox("Aucune donnée n'a étais rentrée dans le  " & ctrl.Tag, MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Erreur")
     
                Else
                    TextBox1.Text = "Nom n°1  " & ComboBox1.Text & vbCrLf & "Nom n°2  " & ComboBox2.Text & vbCrLf & "Nom n°3  " & ComboBox3.Text
                End If
     
            Next
     
        End Sub
    Merci encore .

  9. #9
    Membre confirmé Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Par défaut
    Si les personnes qui t'ont aidés ont permis de résoudre ton problème, met celui-ci en résolu Nicolas6728 ! (bouton en bleu tout en bas!)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FAQ?][FLASH MX2004] [UI Compononent] Combobox ne marche pas
    Par Julien.alkaza dans le forum ActionScript 1 & ActionScript 2
    Réponses: 10
    Dernier message: 24/04/2006, 11h11
  2. Réponses: 23
    Dernier message: 07/02/2006, 08h43
  3. Scroll comboBox ne fait pas défiler les ItemData !
    Par Tchupacabra dans le forum IHM
    Réponses: 4
    Dernier message: 09/12/2005, 09h13
  4. Réponses: 14
    Dernier message: 25/11/2005, 14h22
  5. Pb de requete avec un champ vide ou pas
    Par linou dans le forum Langage SQL
    Réponses: 10
    Dernier message: 16/06/2005, 10h44

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