Oder Du erstellst Dir eine Klasse, die als Property die FontFamily aufnimmt, und in einer überschriebenen ToString()-Methode den Namen der Property zurück gibt. Diese wird auch in der ListBox als Anzeige verwendet.
Klasse ListBoxItem
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| public class ListBoxItem { public FontFamily FontFamily { get; private set; }
public ListBoxItem(FontFamily fontFamily) { this.FontFamily = fontFamily; }
public override string ToString() { return this.FontFamily.Name; } } |
Und damm kannst Du die FontFamilies der ListBox hinzufügen
C#-Quelltext
1: 2: 3: 4:
| foreach (FontFamily oneFontFamily in FontFamily.Families) { _listboxFonts.Items.Add(new ListBoxItem(oneFontFamily)); } |
Und auslesen der Family
C#-Quelltext
1:
| FontFamily family = (_listboxFonts.SelectedItem as ListBoxItem).FontFamily; |
Mit der Schleife und dem vergleichen geht natürlich auch, aber so finde ich es ehrlich gesagt schöner.
Und schneller. Angenommen, Du hättest eine Liste von irgendws mit 2000 Einträgen. Und Du hast das letzte ausgewählt.
Sollen nun 1999 Einräge durchgelaufen und mit einer Stringoperation verglichen werden?
Gruss, Marko