Entwickler-Ecke
WinForms - Anzeigetext in einer Listbox erneuern
Namenlosnameless - Mo 29.08.11 16:08
Titel: Anzeigetext in einer Listbox erneuern
Hallo!
Mal wieder ein Problemchen...
Ich hab eine Listbox die mit vielen Instanzen einer Klasse "Hund" befüllt ist. Damit in der Listbox etwas "vernünftiges" angezeigt wird, habe ich die .ToString() Methode der Klasse "Hund" überschrieben, sodass in der ListBox der Wert der Variablen "name" aus der Klasse "Hund" aufscheint.
Funktioniert beim ersten aufruf (wo die ListBox die modifizierte .ToString() aufruft) wunderbar. Allerdings wenn dann die "name" Property vom User geändert wird funktioniert das ganze nicht mehr!
Wie zwinge ich die ListBox nochmal die .ToString() des Items aufzurufen, sodass der Name geändert angezeigt wird?
mfg Christoph
dark-destination1988 - Mo 29.08.11 16:11
C#-Quelltext
1:
| Listbox.DisplayMember = "Name"; |
Ralf Jansen - Mo 29.08.11 16:16
Wie hast du befüllt?
Falls du eine List<T> (oder andere generische Liste) über eine BindingSource an die Listbox gebunden hast und dazu noch den DisplayMember richtig setzt anstatt ToString zu missbrauchen sollte das funktionieren.
Namenlosnameless - Mo 29.08.11 16:20
Passt! Danke!
Mir ist zwar nicht ganz klar was die rechte seite macht, bzw wofür ich sie brauch (außer das der Compiler nicht meckert) aber solange es funktioniert XD
@Ralf: Nein ich verwende keine BindingSource!
dark-destination1988 - Mo 29.08.11 16:24
naja die gibt den Propertynamen des Klassenobjektes an, welches angezeigt werden soll
Namenlosnameless - Mo 29.08.11 16:30
achsoo :) verstehe
kannst du mir vlt auch noch sagen wie man bei der Methode verhindert das der SelectedIndex um eins erhöt wird?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!