我将值添加到列表框,

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.PadLeftstring.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/

10-13 03:18