2010-12-15 5 views
0

Quand j'utilise listbox en C# (vs 2010 sans SP1 Beta) avec ce paramètre:C bug # ListBox dans ColumnWidth

MultiColumn = true 

et

RightToLeft = System.Windows.Forms.RightToLeft.Yes 

et

ColumnWidth = 78 // 1 to 78 

C# ignorer

RightToLeft = System.Windows.Forms.RightToLeft.Yes 

et de montrer du côté gauche. comme RightToLeft = System.Windows.Forms.RightToLeft.No

mais quand j'utilise

ColumnWidth = 79 // 0 or greater than 78 

qui montrent correct.

Quelqu'un peut-il aider?

Répondre

0

Je ne peux pas dire que je vois une différence entre 78 et 79. Votre code est difficile à interpréter, RightToLeft n'est pas une propriété booléenne. Cela semble louche, la 2ème colonne ne semble pas être correctement alignée. Pas sûr, vous n'avez pas mentionné votre version de Windows non plus.

Résolvez le problème en dessinant vous-même le contenu de la liste. Utilisez l'événement DrawItem, il existe un bon exemple dans l'article MSDN Library pour cela.

+0

Mes fenêtres sont 7 avec sp1. – ABI

+0

J'utilise DrawItem, mais ce problème est toujours, – ABI

+0

Dessinez les éléments alignés à droite, ne plus utiliser RightToLeft. –