2010-12-15 13 views
0

Wenn ich listbox in C# (vs 2010 ohne SP1 Beta) mit dieser Einstellung:C# ListBox Fehler in Column

MultiColumn = true 

und

RightToLeft = System.Windows.Forms.RightToLeft.Yes 

und

ColumnWidth = 78 // 1 to 78 

C# ignorieren

RightToLeft = System.Windows.Forms.RightToLeft.Yes 

und von der linken Seite zeigen. wie RightToLeft = System.Windows.Forms.RightToLeft.No

aber wenn ich verwenden

ColumnWidth = 79 // 0 or greater than 78 

die korrekte zeigen.

Kann jemand helfen?

Antwort

0

Ich kann nicht sagen, ich sehe einen Unterschied zwischen 78 und 79. Ihr Code ist schwer zu interpretieren, RightToLeft ist keine Boolesche Eigenschaft. Es sieht fraglich aus, die 2. Spalte scheint nicht richtig ausgerichtet zu sein. Nicht sicher, du hast deine Windows-Version auch nicht erwähnt.

Lösen Sie Ihr Problem, indem Sie den Inhalt der Listbox selbst zeichnen. Verwenden Sie das DrawItem-Ereignis, es gibt ein gutes Beispiel in dem MSDN Library-Artikel für es.

+0

Mein Fenster ist 7 mit SP1. – ABI

+0

Ich benutze DrawItem, aber das Problem ist immer noch, – ABI

+0

Zeichnen Sie die Elemente rechtsbündig, verwenden Sie nicht mehr RightToLeft. –