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

Windows Forms Discussion :

problème de méthode remove


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut problème de méthode remove
    salut,j'ai une petite prob en prog vb.net.
    j'ai deux listBox et je veux ajouter les éléments séléctionnés en listBox1 à listBox2 et supprimer les éléments ajoutés de listBox1.
    j'écris le code suivant:

    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i as integer =0 to listBox1.selectedIndices.count-1
    listBox2.items.add(listBox1.slectedItems.item(i))
    listBox1.items.remove(listBox1.selectedItems.item(i))
    Next

    mais ce code ne donne rien il ajoutes les éléments séléctionnés seulement.

    Merci à tous le programmeurs.

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Salut,

    As-tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i as integer =0 to listBox1.selectedIndices.count-1
    listBox2.items.add(listBox1.items(i))
    listBox1.items.remove(listBox1.items(i))
    Next
    Petit conseil, édite ton premier post et

    Gwendal

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Déjà le problème avec ton code c'est qu'au cours du déroulement de ta boucle, tu modifies l'élément "source" (listbox1.selecteditems()).
    Je pense qu'en faisant comme tu l'as codé, tu risques de ne récupérer qu'un élément sur deux, voire "n'importe quoi", avec peut-être un dépassement de la plage d'indices.

    Essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Listbox2.Items.AddRange(ListBox1.SelectedItems)
    For i = ListBox1.SelectedIndices.Count - 1 To 0 Step -1
     ListBox1.Items.RemoveAt(ListBox1.SelectedIndices.Item(i))
    Next
    (Utiliser la boucle à l'envers sinon tu auras quelques surprises !)

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    salut,j'ai une petite prob en prog vb.net.
    j'ai deux listBox et je veux ajouter les éléments séléctionnés en listBox1 à listBox2 et supprimer les éléments ajoutés de listBox1.
    j'écris le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i as integer =0 to listBox1.selectedIndices.count-1
    listBox2.items.add(listBox1.slectedItems.item(i))
    listBox1.items.remove(listBox1.selectedItems.item(i))
    Next
    mais ce code ne donne rien il ajoutes les éléments séléctionnés seulement.

    Merci à tous le programmeurs.

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    merci

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    merci MR mes votre méthode ne marche pas car :la fonction addRange accepte comme argument une collection.
    As_tu un autre solution et merci?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Effectivement, ça ne marche pas (et je trouve ça dommage ).
    Donc pour remplacer AddRange, on fait une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Dim i As Integer
      For i = 0 To ListBox1.SelectedItems.Count - 1
       ListBox2.Items.Add(ListBox1.SelectedItems.Item(i))
      Next
      For i = ListBox1.SelectedIndices.Count - 1 To 0 Step -1
       ListBox1.Items.RemoveAt(ListBox1.SelectedIndices.Item(i))
      Next
    Et ça, ça fonctionne.

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Merci Mr.BassBeat et ça fonctionne bien.

  9. #9
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Points : 259
    Points
    259
    Par défaut
    Si ton Pb est résolu pense à mettre ton poste en résolu.

    ça évite de lire le post avant de s'apercevoir que finalement le pb est résolu.

    Merci

Discussions similaires

  1. Problème avec méthode "cloneNode()"
    Par kingmandrax dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/10/2006, 14h14
  2. Problème de méthode
    Par Thibaut_Dupont dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 10/07/2006, 14h16
  3. problème de méthode paint()
    Par guillaumeM63 dans le forum 2D
    Réponses: 2
    Dernier message: 16/05/2006, 23h50
  4. problème bizarre, méthode recurssive
    Par akrobat dans le forum C++
    Réponses: 19
    Dernier message: 05/05/2006, 14h22
  5. Problème de méthode
    Par Clad3 dans le forum C++
    Réponses: 2
    Dernier message: 10/09/2005, 11h08

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