我将值添加到列表框,
for(int i = 0; i < 2; ++i)
{
lbBeamValue.Items.Add("Beam " + i.ToString() + " : " + value1[i] + " Angle " + i.ToString() + " : " + value2[i]);
}
显示如下:
Beam 0: 0.12 Angle 0: 0.65
Beam 1: 10.113213 Angle 1: 0.23
有没有办法确保
Angle
在每一行中对齐?喜欢:Beam 0: 0.12 Angle 0: 0.65
Beam 1: 10.113213 Angle 1: 0.23
最佳答案
没有简单的控件将允许您使用标签。因此,您要么需要一个具有列的控件(例如ListView
),要么需要选择一个固定大小的字体(例如Consolas
),并使用string.PadLeft
和string.PadRight
将每个项目填充到给定的长度:
lbBeamValue.Font = new Font("Consolas", 8f);
for (int i = 0; i < 2; ++i)
{
listBox2.Items.Add("Beam " + (i).ToString("#0").PadLeft(2) + " : " +
value1[i].ToString().PadRight(11) + " Angle " + i.ToString() + " : " +
value2[i]);
};
注意
String.Format
还允许您使用填充来构建复杂的字符串。关于c# - 如何格式化列表框中的对齐方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28869948/