Entwickler-Ecke
Basistechnologien - Listbox Markierung auswerten
tomycat - Do 09.07.15 21:23
Titel: Listbox Markierung auswerten
hallo,
ich habe eine Listbox und die ist bei "selctionmode" auf Multiextended gestellt.
mit...
C#-Quelltext
1:
| name_der_listbox.Items.Add(variable_von_der_textbox); |
... fülle ich meine Listbox.
Nach dem ich 5 von 10 makiert habe möchte die weiterverarbeiten.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| private void addieren_Click(object sender, EventArgs e) { Messagebox.Show(das_ergebis) } |
Moderiert von Th69: C#-Tags hinzugefügt
Moderiert von Th69: Code- durch C#-Tags ersetzt
Moderiert von Th69: Titel geändert.
Ralf Jansen - Fr 10.07.15 10:14
Sobald nach einer Änderung der Selektion genau 5 einträge markiert sind. Rechnet folgender Code die selektierten Einträge zusammen.
Unetr der Annahme das die in der ListBox enthalten Einträge
alle als Integer interpretierbar sind.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| private void name_der_listbox_SelectedIndexChanged(object sender, EventArgs e) { Int32 das_ergebis; if (name_der_listbox.SelectedItems.Count == 5) { das_ergebis= name_der_listbox.SelectedItems.Cast<string>().Sum(x => Convert.ToInt32(x)); MessageBox.Show(result.ToString()); } } |
tomycat - Sa 11.07.15 20:52
hmmmm jein.
Sorry, ich muss anderst fragen:
C#-Quelltext
1: 2: 3: 4: 5:
| private void button15_Click(object sender, EventArgs e) { string die_makierung = name_der_listbox.SelectedItem.ToString(); MessageBox.Show(die_makierung); } |
Ich makiere etwas in der listbox.
3
4
2 <- makiert
6 <- makiert
2 <- makiert
5
3
5
6
können 3 oder 1 oder alle mal sein.
Ein klick auf dem Button und es "2 6 2" kommen.
Leider kommt immer nur ein makierter Wert in der Messagebox. :-(
Moderiert von Th69: Code- durch C#-Tags ersetzt
tomycat - Sa 11.07.15 21:32
soweit bin ich gekommen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void button15_Click(object sender, EventArgs e) { string itemText for(int a = 0; a < name_der_listbox.SelectedItems.Count;a++) { if( this.name_der_listbox.Items[a] == "ist makiert") { itemText += this.name_der_listbox.Items[a].ToString(); itemText += " "; }
MessageBox.Show(itemText); } } |
Woher weis ich ob die Zeile in der listbox makiert ist oder nicht?
Moderiert von Th69: Code- durch C#-Tags ersetzt
Delete - Sa 11.07.15 22:01
- Nachträglich durch die Entwickler-Ecke gelöscht -
Th69 - Sa 11.07.15 22:02
Hallo,
die einzelnen markierten Elemente sind in der
SelectedItems-Liste enthalten, d.h. du mußt natürlich dann innerhalb deiner Schleife auf diese zugreifen (und nicht auf
Items - und die
if-Anweisung kann dann ganz entfallen).
Noch einfacher geht es mit der
foreach-Schleife:
C#-Quelltext
1: 2: 3: 4:
| foreach (var item in listBox.SelectedItems) { MessageBox(item.ToString()); } |
tomycat - Sa 11.07.15 22:17
Hammmmmmer !!!
Respekt !!!
Super Forum !!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!