2008-12-27 9 views
5

Ich habe drei Werte, die ich in einer Dropdown-Box ausrichten muss. Wie kann ich das machen? Ich habe das versucht: String.Format("{0,-30}{1,-15}{2,-10}{3,-8}", new object[] { cusJob, service, username, time }); Aber das lässt es uneben, weil es keine monospaced Schriftart ist. Ich möchte keine monospaced Schriftart wirklich verwenden und ich habe Anwendungen gesehen, die sie vorher ausrichten, also wie kann ich es tun?Formatieren von Text für eine Combobox, C#

Danke.

Antwort

5

Sie müssen die Dropdownlist des DrawMode zu OwnerDrawFixed setzen und die Elemente in der DrawItem Ereignishandler zu machen.

Beispiele sind here und here und here, aber es gibt viel mehr auf dem Netz gefunden werden, wenn Sie für „Dropdownlist Ownerdraw Spalte DrawMode“ suchen.

+0

Das dritte Beispiel half am meisten – Malfist

-1

In Ihrer Zeichenfolge könnten Sie die \ t Steuerzeichen (Registerkarte) verwenden, um die Werte auszugeben, obwohl einige mehr String-Manipulation durchgeführt werden muss, um herauszufinden, wie viele Registerkarten Sie in die Zeichenfolge einfügen müssen .

Edit: für vb.net sehen die ControlChars Klasse

+1

\ t werden als kleine Kästchen anstelle von Registerkarten angezeigt, wie auch alle Steuerzeichen – Malfist