Veröffentlicht 5. Mai 200817 j Schön guten Tag, ich möchte auf Klick auf einen Button eine mir nicht bekannte Menge (Anzahl an selektierten werten in einer Listbox) an Label Objekten erzeugen. Mir fehlt aber irgendwie der Punkt wo ich ansetzen soll, kann mir nicht recht vorstellen wie das funktionieren soll. Wenn es geht sollen die Labelbezeichnung den werten in der Listbox entsprechen. Schonmal vielen dank für die Hilfe.
5. Mai 200817 j Na halt einfach in ner Schleife die Labels anlegen und mit den gewünschten Texten versheen. Bsp: for (init i=0; i<Anzahl; i++) { Label l = new Label; l.ID = "Label" + i.ToString(); l.Text = "Test"; DasControlwodieLabelsreinsollen.Controls.Add(l); } [/PHP]
5. Mai 200817 j Ahhh an die ID Eigenschaft hab ich natürlich wieder nicht gedacht. :upps Danke Guybrush Threepwood
5. Mai 200817 j So, bin erst jetzt dazu gekommen das zu testen und habe nun auch festgestellt warum mir das mit der Eigenschaft "ID" nicht selber eingefallen ist. Weil ein Labelobjekt diese nicht besitzt, nur Name und dann Funktioniert das Add wieder nicht. Hier mal der Code den ich bisher habe: for (i = 0; i < listBox1.SelectedItems.Count; i++) { Label Filter = new Label(); Filter.Location = new System.Drawing.Point(571, 172); Filter.Text = "Filter " + i.ToString(); Filter.Name = "Filter" + i.ToString(); Controls.Add(Filter); MessageBox.Show(i.ToString()); }
5. Mai 200817 j Ok, nach langen rumwurschteln hab ichs hinbekommen: { int i = 0; int y = 170; for (i = 0; i < listBox1.SelectedItems.Count; i++) { Label[] Filter = new Label[listBox1.SelectedItems.Count]; Filter[i] = new Label(); Filter[i].Location = new System.Drawing.Point(571, y); Filter[i].Text = "Filter " + i.ToString(); Filter[i].Name = "Filter" + i.ToString(); Controls.Add(Filter[i]); MessageBox.Show(i); y = y + 25; } }
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.