【问题标题】:How to 'align' text in RichTextBox C#?如何在 RichTextBox C# 中“对齐”文本?
【发布时间】:2011-09-08 18:11:33
【问题描述】:

如何对齐 RichTextBox 中的文本?

基本上,RTB 包含:

“--测试”

“--测试”

“测试--”

“测试——”

它们都具有相同数量的字符,但具有不同的对齐方式。如何正确对齐它们?我对 C# 相当陌生并且很困惑,因为它在 Java 的 TextArea 中正确对齐。

谢谢!

【问题讨论】:

  • 在这种情况下“对齐”是什么意思?

标签: c# richtextbox alignment


【解决方案1】:

您想使用RichTextBox.SelectionAlignment 属性。

例如,如果您希望整个文本框居中,那么您可以这样做:

richTextBox1.SelectAll();
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;

如果您只希望文本框的一部分具有某种对齐方式,则使用 RichTextBox.Select() 例程选择文本,然后设置 SelectionAlignment 属性。

【讨论】:

  • 当我在 RichTextBox 中追加文本时,有什么方法可以定义文本的对齐方式吗?否则,我必须附加文本,然后找到我插入的文本,选择它,然后更改它的对齐方式。
  • SelectionAlignment 在 WPF 中不存在 : (
  • 是的。 WPF 中不存在 SelectionAlignment。我们如何在 WPF 中实现相同的功能?
【解决方案2】:

您必须将字体更改为等宽字体,例如 Courier。您显示的这种行为是大多数字体的标准行为,因为并非所有字符的宽度都相同。

【讨论】:

  • 我不敢相信就这么简单。我测试了其他字体,但不幸的是它们不是等宽字体,我就放弃了。谢谢!
  • 简单、基本、出色。如此明显,但在一百万年后我永远不会想到......
【解决方案3】:
richTextBox1.SelectAll();
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
richTextBox1.DeselectAll();

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
【解决方案4】:

除非你非常需要使用富文本框,否则你可以简单地使用文本框并选择对齐方式

textbox.TextAlign = HorizontalAlignment.Center;/*could be left, right or center*/

【讨论】:

    【解决方案5】:
    RichTextBox1.SelectionAlignment = HorizontalAlignment.Center;
    

    GetRichTextBox().SelectionAlignment = HorizontalAlignment.Center;
    

    适用于多个页面。

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 2015-01-19
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-04-15
      • 2011-07-11
      相关资源
      最近更新 更多