Entwickler-Ecke

WinForms - ListBox-Item ersetzen


le Cauchemar - So 03.02.08 18:26
Titel: ListBox-Item ersetzen
Guten Tag, liebe Community,
Ich habe folgendes Problem:
Ich habe eine ListBox erstellt, deren Items der User per Doppelklick umbenennen können soll.
Leider funktionert das erstetzen des gewählten Objekts mit einem neuen String nicht.

Mein Code:

C#-Quelltext
1:
mylistbox.SelectedItem = "Wird nicht angezeigt"//Das gewählte Punkt soll den neuen Text anzeigen                    


Es wird immernoch der Text des alten Objekts angezeigt.
Wie kann ich das ändern?


Kha - So 03.02.08 18:49

SelectedItem setzt nicht den Inhalt des gewählten Eintrags neu, sondern markiert den Eintrag mit dem gewünschten Inhalt - und wenn es diesen nicht gibt, passiert einfach gar nix. Was du willst, dürfte sich über Items[SelectedIndex] = ... erreichen lassen.


le Cauchemar - So 03.02.08 19:02

Vielen Dank, ich werde es so bald wie möglich probieren.

//edit
Klappt einwandfrei.
Danke nochmal für die schnelle Antwort.


sheroco - Di 16.11.10 22:04

Hallo. Ich hab so ein ähnliches Problem bzg. Listboxen und Ersetzen:

Ich habe 2 Listboxen,die zuerst mit Daten aufgefüllt werden.
Hätte dann gerne das ich das selektierte Item der Listbox2 zum selektierten Item der Listbox1 hinzufüge, und das alte selektierte Item der Listbox1 dann ersetzt wird.

Also das ganze soll dann so aussehen:

Listbox1................Listbox2

["A"]....................["D"]
["B"]....................["E"]
["C"]....................["F"]

Dann wird z.B ["A"] und ["E"] ausgewählt, ein Button gedrückt, und dann soll
die Liste 1 so aussehen:

Listbox1

["A" + "E"]
["B"]
["C"]

Hoffe Ihr könnt mir da etwas weiterhelfen :)

Mfg


traceurmicha - Mi 17.11.10 08:19

Hallo sheroco,

Deine Frage wurde im Prinzip schon beantwortet.

Du musst dir zuerst die ausgewälten Werte aus den Listboxen holen mit listbox.SelectedItem.ToString(). Danach beide strings zusammenfügen und an die Stelle an der das Ausgewählte in deiner linken listbox steh mit listbox.Items[listbox.SelectedIndex] = variable einfügen.

Gruß Micha


sheroco - Mi 17.11.10 22:07

Hallo Micha,

danke für deine Hilfe :)
Hat wunderbar geklappt!

Mfg