Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : une arraylist désespérante... [ Windows / Formulaire / Winforms / Controls ] (parlaciel)

lundi 28 avril 2008 à 19:01:13 | une arraylist désespérante...

parlaciel

bonsoir à vous!!
j'ai un problème tout balot.... Qui m'a tenu tête tout l'aprés-midi et c' est en désespoir de cause  que  je poste ici.
J'ai une arraylist dans la quelle je stock différents types d'objets.
Ces objets au nombre de 6 sont ajoutés à chaque fois qu'on va cliker sur un bouton.
lorsque que je souhaite supprimer des objets qui se trouve dans le milieu de mon arraylist, il faut que la fin de mon arraylist comble le trou.
comme je suis persuadée de ne pas avoir été clair le code sera peut être plus parlant:

       private void button3_Click(object sender, EventArgs e)
        {
          Button suppr = new Button();
          Button edit = new Button();
          CheckBox ma_checkBox = new CheckBox();
          TextBox ma_textBox = new TextBox();
          Label titre = new Label();
          object mon_objet = new object();


         
          suppr = (Button)sender;
          int index = mes_elements.IndexOf(sender);
          edit = (Button)mes_elements[(index - 2)];
          nowForm = (Form10)mes_elements[(index - 1)];
          ma_checkBox = (CheckBox)mes_elements[index - 3];
          ma_textBox = (TextBox)mes_elements[index - 4];
          titre = (Label)mes_elements[index - 5];         
          mes_elements.RemoveRange(mes_elements.IndexOf(sender)-5,3);

          if (mes_elements[index + 1] != null)
          {
              for (int t = index; t == dernier_index; t++)
              {
                  mon_objet = mes_elements[index + 1];
                  mes_elements.Insert((index - 6), mon_objet);
                  mes_elements.RemoveAt(index + 1);
              }
          }
          else return;

           Controls.Remove(titre);
          Controls.Remove(edit);
          Controls.Remove(suppr);
          Controls.Remove(nowForm);
          Controls.Remove(ma_textBox);
          Controls.Remove(ma_checkBox);           
        }



-mon premier problème c est que le test du if n'est pas bon, si jamais il n'y a rien derrière index , il me met une erreur, doncy a-t'il quelque chose de mieu  à mettre que null?
-deuxieme probleme , le décallage se fait dans mon arraylist mais pas correctement, il y a des index qui ne sont pas utilisés.


voila si jamais vous avez une solution, une demande de précision ou autre.... je suis toute ouïe!!!!
merci!!!

lundi 28 avril 2008 à 19:31:08 | Re : une arraylist désespérante...

Lutinore

Administrateur CodeS-SourceS
Salut, à la suite des méthodes Insert, RemoveAt, RemoveRange etc.. l'ArrayList s'auto-arrange tout seul, il comble les trous comme tu dis. Il est possible de réduire l'espace vide de la fin avec la méthode TrimToSize mais dans ton cas c'est quasi-inutile. Si tu as du mal a retrouver tes éléments avec un index utilise un nom :

Object obj = myArrayList[ "Object1" ]; // La propriété Name doit avoir été assignée.

lundi 28 avril 2008 à 19:42:36 | Re : une arraylist désespérante...

Lutinore

Administrateur CodeS-SourceS
Réponse acceptée !
Oups.. c'est vrai que l'ArrayList ( obsolète maintenant ) contrairement au Liste ne supporte pas l'indexeur avec une chaine de caractère. Si tu es en NET 2.0 utilise une liste :

List< Control > list = new List< Control >( 6 );

mardi 29 avril 2008 à 08:42:10 | Re : une arraylist désespérante...

parlaciel

merci pour ce conseil je vais chercher comment utiliser la list!!!!



Cette discussion est classé dans : button, checkbox, arraylist, index, elements


Répondre à ce message

Sujets en rapport avec ce message

EventArgs [ par taulard ] Bonjour tous le monde, je ne sais pas comment exprimer ma demande, j'ai un usercontrol nomné : ControlBar, dans lequel j'ai un BoutonBar_Click priva index des elements selectionnées d'un combobox [ par nehla ] salutj'ai crée plusieurs combobox dynamiquement et je veux recupérer l'index des elements selectionnées pour chaque combobox.j'ai essayée la propriete ajouter des elements dans un ContextMenuStrip [ par bellak ] salut tt le monde ; je veux savoir ,si quelqu'un peut m'aider , comment ajouter des elements dans un ContextMenuStrip et dans un emplacement precis LISTVIEW Selection Supression Incrementation [ par Mentalalex ] Bonjour,J'ai un petit soucis avec une listView, en effet, j'aimerais effectuer une vérification pour svoir si un (ou plusieurs) elements sont selectio comment partager un tableau arraylist entre plusieurs fournisseur ? [ par spock77 ] bonjourVoila je réalise un programme de gestion de salle de cinéma.  J'ai crée une class cinéma qui contient toute les méthodes et attributs qui défin XmlSerialization [ par thebigboss ] Bonjour,y'a un petit truc qui me rend fou:j'ai une classe Personne que j'arrive a serializer (mais que je ne souhaite pas serializer).Pour l'instant, Quadrillage de points [ par ansizak ] Bonjour,Je m'initie aux fonction graphiques de C# et j'aurais souhaité comprendre comment réaliser un quadrillage à partir d'un tableau de points:Je d Definir soit meme les index d'un DropDownList [ par hasen ] Bonjour à tous!Dans mon application, j'utilise un DropDownList pour afficher la liste des clients de ma base. Donc pour la remplir, j'accede à ma base DataGridView changer le type des celulles [ par Poulpy87 ] Bonsoir, je souhaiterais changer le type des cellules contenue dans une DataGridView après l'avoir chargé avec une data table. Or lorsque j'essaie je


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 5,600 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.