【问题标题】:C# string.Format alignment issueC# string.Format 对齐问题
【发布时间】:2019-09-18 05:13:20
【问题描述】:

我对几个名字的对齐有疑问(针对这个问题进行了更改)。

使用此代码,我在 Richtextbox 中显示名称,它应该在一行中,名称后面有“Spalte:”...但它没有。有人可以帮帮我吗?

(我的问题只需要第一个 for 循环,下一个做另一项工作)

我添加了一张图片,它的外观和外观。我知道我可以在注释区域中做到这一点(并非在每种情况下都有效),但我需要更改一些其他内容的代码,所以这需要工作....

这是我所拥有的:

这就是我想要的:

感谢您帮助我:D

【问题讨论】:

  • 使用固定宽度的字体。文本框中的当前字体是比例字体。并且请包含代码作为文本,而不是图片。
  • 这不是因为你没有使用像 Consolas 或 Courier New 这样的等宽字体吗?这会导致对齐问题。您需要创建一种字体并将其传递给控件。
  • 您必须使用固定间距字体来对齐这些字符串。或者在两个字符串之间使用制表符 ("\t"),使用 SelectionTabs 属性设置制表位。鉴于您不太可能希望用户实际编辑此文本,您肯定应该考虑使用 View = Details 的 ListView。如果需要编辑,则为 DataGridView。任一控件都按设计对齐文本。
  • 请不要发布您的代码或数据的图像。这让我们更难为您提供帮助,这意味着您不太可能得到好的答案。

标签: c# richtextbox string.format


【解决方案1】:

您有四个选择:

  1. 更改RichTextBox 的代码以使用固定宽度字体。大多数字体的每个字符都有不同的宽度,这意味着您不能仅根据间距整齐地排列。
  2. 在布局中使用制表符而不是空格(并确保制表符的大小足够大以解决文本中的差异)。
  3. 使用某种类型的网格控件(DataGridGridView 等)
  4. 为每一行使用自定义控件,并在特定位置添加标签(您可以自己计算位置以将它们放置在表单上,​​也可以使用 FlowLayoutPanel 之类的东西)。

【讨论】:

    猜你喜欢
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    相关资源
    最近更新 更多