Listbox dotnet et vb

Je suis en train de chipoter un peu au VB.net pour l’ecole et j’ai un petit probleme que je n’arrive pas a resoudre.

J’ai deux listbox (preferences et vospreferences) qui sont configurees en selectextended.
Le petit bout de code qui suit est cense permettre de faire passer les elements selectionnes de preference à vospreference.
La boucle fonctionne bien avec juste le add mais quand il y a le remove, ca ne va plus.

Ca doit etre tout con mais je debute avec le .net

j’ai donc deux questions:

  1. pourquoi le remove ne passe pas ?
  2. qu’est ce que vous feriez vous pour faire passer des items d’une liste à l’autre ?

       Dim c As Object        For Each c In preferences.SelectedItems            vospreferences.Items.Add(c)            preferences.Items.Remove(c)        Next

merci d’avance :stuck_out_tongue:

PS: repondez en C# si vous n’aimez pas le VB (ca se comprend ^^)

Hum… Quand tu fais un remove, ton iterateur passe pas à l’element suivant tout seul ?
Si c’est le cas faudrait revoir la boucle.

Tu peux pas boucler aussi simplement sur une liste en enlevant/ajoutant des elements de la liste sur laquelle tu boucle dans la boucle. C’est un truc de base et en fait c’est vachement bien que tu vois ca en ecole :stuck_out_tongue: La ruse en general c’est ou de boucler « a l’envers » sur celle ou tu enleves des trucs, ou de passer par une troisieme liste de trucs « a enlever » que tu vires apres dans une autre boucle.

J’ai limite honte de pas me rendre compte d’un truc pareil :stuck_out_tongue:
Un tableau j’aurais percute tout de suite mais la le fait que ce soit dans un form … enfin je sais pas … pas d’excuse :stuck_out_tongue:

Merci glop

[quote name=‹ Asarnil › date=’ 21 Feb 2005, 12:57’]J’ai limite honte de pas me rendre compte d’un truc pareil  :stuck_out_tongue:
Un tableau j’aurais percute tout de suite mais la le fait que ce soit dans un form … enfin je sais pas … pas d’excuse  :stuck_out_tongue:

Merci glop
[right][post=« 334885 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Y a pas de honte, je me souviens encore quand j’ai fait mon stage j’ai fait la connerie (et j’etais pas le seul) et on avait eu droit a un topo d’un dev senior qui nous avait fait chercher et corriger tout les endroits ou on avait fait la connerie en java ou en C. Tu retiens bien ce genre de truc que si tu t’es vautre une bonne fois dedans :stuck_out_tongue:

Idem que j’ai fait la même erreur en CSharp et qu’il me disait: ah ben nan tu peux pas boucler sur un iterator que tu viens d’oter un élément :P. C’est logique quand tu y réfléchis a 2 fois :P^.

N’empêche avec cette méthode t’as l’algo ultime (bon, faut trouver l’application) pour virer un élément sur deux dans une liste.

PS : oui, ca m’est déjà arrivé à moi aussi de tomber dans le panneau :stuck_out_tongue: