begin process at 2012 02 11 10:23:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

une arraylist désespérante...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

une arraylist désespérante...

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ée 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,490 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales