C#Combo_box更改格式化字符串

时间:2016-01-29 05:54:33

标签: c# string xaml combobox format

假设:

String course = String.Format
(
    "{0}-{2} {1}  {3} {4} {5}", 
    c.course_ID.ToString().Trim(), 
    c.course_Name.Trim().PadRight(20), 
    c.Section_Num.ToString().Trim(),
    c.Start_Time.ToString().Trim(), 
    c.Quarter.Trim(), 
    c.Year.ToString().Trim()) 
);

我有这个输出:

"150-2 FF Test 11:59:00 Winter 2016"

"314-1 Test Course 11:59:00 Winter 2016"

然而,当这些被添加到组合框中时,第二行总是比前一行长两个空格。

combo_box.Items.add(course);

"150-2 FF Test 11:59:00 Winter 2016"

"314-1 Test Course 11:59:00 Winter 2016"

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:1)

问题是字体宽度之一。组合框的默认字体是MS Sans Serif,它是可变宽度(或比例)字体。每个角色占用不同的空间 Fixed width vs variable width fonts

切换到等宽(或固定宽度)字体(如Courier New)可以解决您的问题:
Changing font property on combobox

像这样:
Combobox with fixed-width font