【发布时间】:2016-01-28 20:02:03
【问题描述】:
我对编程很陌生,我刚刚用 C# .NET 编写了一个简单的应用程序来检索有关系统驱动器空间的信息。该程序运行良好,但我正在努力格式化输出。
查看输出:
我正在尝试使用填充使文本在富文本框中以列格式排列,但输出不对齐,因为如果有多个驱动器,驱动器名称的长度不同扔掉填充物。即使驱动器号返回一个为 M: 另一个为 I: 字母大小的差异足以在填充时抛出对齐。
我想知道是否有一种方法可以将每个字符串值强制为特定长度,以便均匀应用填充,或者是否有更好的方法来格式化我的输出。提前感谢您的宝贵时间,如果有任何进一步的信息会有所帮助,请告诉我!
【问题讨论】:
-
您的问题是kerning。将您的文本更改为monospaced 字体(其中所有字符的宽度相同)或使用具有实际列的控件而不是尝试匹配填充。 Consolas 是 Visual Studio 中的默认字体,例如是等宽字体。
-
尝试使用 Courier New 字体。
-
看起来它最有可能是你使用的字体,看看我比M大多少。
-
你能发布你到目前为止的代码吗?
-
你在使用 WPF 吗?还是 WinForms?在 WPF 中,您可以使用 DataGrid 在带有列的表中显示数据(将正确对齐)。