在 C# 中遇到文本对齐问题

Having trouble with text alignment in C#

所以我正在尝试格式化列表框的输出。基本上我希望项目名称左对齐,项目成本右对齐。这是我正在使用的 ToString() 方法:

 public override string ToString() {
     return String.Format("{0, -20}{1, 10:C2}", name, cost);
 }

下面是结果输出的图片:

我是不是漏掉了一些简单的东西?从我读过的所有内容来看,这应该正确地格式化我的输出。我已经阅读了一些关于使用 ListView 的内容,但是对于我需要使用 ListBox 的作业。如有任何帮助,我们将不胜感激!

你只需要将控件的字体设置为固定宽度的字体即可。

listBox1.Font = new Font(FontFamily.GenericMonospace, 10);

listBox1.Font = new Font("courier", 10);