Listboxeinträge entzerren
-
Hallo Leute,
ich habe eine List<object> ... deren Einträge ich in eine Listbox überführen möchte. Die Objekte bestehen aus string und int, diese werden per Schleife auch wie gewünscht überführt und angezeigt. Da die strings alle unterschiedlich lang sind, ist die Darstellung jedoch arg verzerrt und ich würde mich freuen, wenn jemand einen Tip hat, wie man sowas am Besten löst.
Mit \t in der zu überführenden ToString Methodee wird bei den kurzen Wörtern der nächste String weitergeschoben, allerdings auch bei den langen Wörtern. Ich habe überlegt dabei nach der Länge des jeweiligen strings auszufiltern, was jedoch problematisch wird, da es auch Wörter mit 3 Buchstaben gibt, die einen Zeilenvorschub erfordern, da sie sehr große Buchstaben haben (WWx), während es auch kleinere gibt ohne Vorschub (III)
Die object List wird aus folgenden Werten gebildet:
public override string ToString() { return string.Format("{0}\t{1}\t{2}\t{3}", Status, Value, Name); }
In die ListBox überführe ich dann einfach nur noch die Objekte, welche in der Liste stehen.
-
Hallo,
da gibt es wohl mehrere Möglichkeiten:
1. FixFont einstellen (z.B. "Courier New")
2. OwnerDraw, d.h. Texte selber zeichnen
3. ListView oder DataGridView (d.h. gleich passende Spalten) verwenden
-
Vielen Dank, das sind absolut brauchbare Hinweise, mit denen ich mich im Folgenden beschäftigen werde, um dann die für mich beste Vorgehensweise zu finden.