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#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 confirmé
    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
    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 éprouvé 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
    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 averti
    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
    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 averti
    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
    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 confirmé
    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
    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());
                }
            }

+ 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