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

C# Discussion :

lstbox [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut lstbox
    Bonjour,

    après plusieurs heures de recherches je n'arrive pas à trouver une solution.
    J'essaie avec un boutton "ajouter" d'ajouter des valeurs depuis une combobox,listbox à une listbox avant que celle ci soit faite le programme vérifie dans la listbox si cette chaine de caractère n'y est pas déjà.

    Dans ce cas la j'essaie de comparer 2 listebox entre elle avant de transférer la chaine de list1 à list2.

    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
     for (int i = lstG.SelectedIndices.Count - 1; i >= 0; i--)
                {
                    for (int a = 0; a == lstD.Items.Count; a++)
                    {
                        if (lstG.SelectedIndices[i].ToString() == lstD.Items[a].ToString())
                        {
                            MessageBox.Show("Erreur cette chaine est déjà présente");
                        }
                        else
                        {
                            int index = lstG.SelectedIndices[i];
                            lstD.Items.Add(lstG.Items[index]);
                        }
                    }
     
                }
    Veuillez m'aider s'il vous plait je comprend pas. Merci d'avance.

  2. #2
    Membre du Club
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Points : 40
    Points
    40
    Par défaut Comparaison comboBox et ListBox
    Vous pouvez essayer ceci:

    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
     
            private void button1_Click(object sender, EventArgs e)
            {
                string cBoxString = comboBox1.SelectedItem.ToString();
     
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    if (listBox1.Items[i].ToString() == cBoxString)
                    {
                        MessageBox.Show(cBoxString + " existe deja dans ma liste");
                        return;
                    }                
                }
                listBox1.Items.Add(cBoxString);
            }

  3. #3
    Membre habitué Avatar de Capitaine Kirk
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 128
    Points
    128
    Par défaut
    Bonjour


    une autre solution, si j'ai bien compris la demande ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            private void button1_Click(object sender, EventArgs e)
            {
                if (listBox1.Items.Contains(comboBox1.Text))
                {
                    MessageBox.Show("Lélément existe déjà !");
                }
                else
                {
                    listBox1.Items.Add(comboBox1.Text);
                }
            }

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut Merci
    Bonjour jonanirina, Capitaine Kirk,

    Les deux méthodes peuvent être utilisées. Je vous remercie de m'avoir aidé.

    Je pense utilisé la méthode de Capitaine Kirk moins lourde.

    Merci à vous, bonne journée.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    un nouveau problème est survenu lors de l'implémantation du code ci-dessus.

    Je dispose de 2 combobox et une liste box a gauche de mon formulaire.
    Lorsque je clique sur ajouter, le dernier élément sélectionné dans une des trois ComboBox de gauche doit s'ajouter la liste de droite.

    Mon problème c'est que lorsque je clique sur ajouter la partie de gauche ajoute les 3 items séléctionnés dans la listbox de droite.

    Comment faire ?

    Voila événement de mon boutton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     private void button_ajouter_Click(object sender, EventArgs e)
            {
                Combo1ToLst2(ComBo1, button_ajouter, lst2);
                Combo2ToLst2(ComBo1, button_ajouter, lst2);
                Lst1ToLst2(lst1, button_ajouter, lst2);
     
            }
    Procédure Combo1ToLst2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void Combo1ToLst2(ComboBox ComBo1, Button button_ajouter, ListBox lst2) // Transfert Combo1 à liste 2
            {
                if (lst2.Items.Contains(ComBo1.Text))
                {
                    MessageBox.Show(ComBo1.Text + " figure déjà dans la liste.");
                }
                else
                {
                    lst2.Items.Add(ComBo1.Text);
                }
            }
    Procédure Combo2toLst2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private void Combo2ToLst2(ComboBox ComBo2, Button button_ajouter, ListBox lst2) // Transfert Combo2 à liste 2
            {
                string cBoxString = ComBo2.SelectedText.ToString();
                if (lst2.Items.Contains(cBoxString))
                {
                    MessageBox.Show(cBoxString + " figure déjà dans la liste.");
                }
                else
                {
                    lst2.Items.Add(cBoxString);
                }
    Procédure Lst1ToLst2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void Lst1ToLst2(ListBox lst1, Button button_ajouter, ListBox lst2) // Transfert lite 1 à liste 2
            {
                string LstString = lst1.SelectedItem.ToString();
                if (lst2.Items.Contains(LstString))
                {
                    MessageBox.Show(LstString + " figure déjà dans la liste.");
                }
                else
                {
                    lst2.Items.Add(LstString);
                }
            }
    Je nage dans ce problème en boucle.

    Veuillez m'aider s'il vous plait.

    Cordialement, Mentor.

  6. #6
    Membre du Club
    Homme Profil pro
    Developpeur .Net
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Developpeur .Net
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Points : 40
    Points
    40
    Par défaut ListBox
    Essayez ceci, ca a l'air un peu force mais biensur vous pouvez tres librement ameliorer l'idee.
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
            private bool cbx1selected;
            private bool cbx2selected;
            private bool lbxselected;
            public Form1()
            {
                InitializeComponent();
                comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
                comboBox2.SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged);
                listBox1.SelectedIndexChanged += new EventHandler(listBox1_SelectedIndexChanged);
            }
     
            void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                cbx1selected = false;
                cbx2selected = false;
                lbxselected = true;
            }
     
            void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
            {
                cbx1selected = false;
                cbx2selected = true;
                lbxselected = false;
            }
     
            void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                cbx1selected = true;
                cbx2selected = false;
                lbxselected = false;
            }
     
            private void btnPass_Click(object sender, EventArgs e)
            {
                if (cbx1selected)
                {
                    cBoxToListReceiver(comboBox1, listBoxReceiver);
                }
                if (cbx2selected)
                {
                    cBoxToListReceiver(comboBox2, listBoxReceiver);
                }
                if (lbxselected)
                {
                    lBoxToListReceiver(listBox1, listBoxReceiver);
                }
     
            }
            protected void cBoxToListReceiver(ComboBox cbx, ListBox lbx)
            {
                if (lbx.Items.Contains(cbx.Text))
                {
                    MessageBox.Show("Text contained in ListBox");
                }
                else
                {
                    lbx.Items.Add(cbx.Text);
                }
            }
            protected void lBoxToListReceiver(ListBox _lbx, ListBox lbx)
            {
                if (lbx.Items.Contains(_lbx.SelectedItem.ToString()))
                {
                    MessageBox.Show("Text contained in ListBox");
                }
                else
                {
                    lbx.Items.Add(_lbx.SelectedItem.ToString());
                }
            }

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut lstbox
    Salut Jonanira,

    ta méthode marche je viens de la tester.

    Le seul petit problème c'est que la propriété DropDownStyle de ma deuxième ComboBox est DropDownList.

    Celui ci n'ajoute pas l'élément que je séléctionne lorsque le déroulant s'affiche.

    Je vais essayer de me débrouiller pour ce petit problème de mon coté.

    En tout cas ta solution me plait bien. J'aime bien les codes à l'arrache comme sa. Merci encore t'en aide ma évité beaucoup de recherche.

    Bonne soirée à toi.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/10/2007, 14h24
  2. synchronisation des txtbox avec lstbox
    Par monphp dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/07/2007, 08h34

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