2

我想在我的富文本框中使用 right2left 语言,但在项目符号等方面遇到了很多问题。我想做这个

在此处输入图像描述

这是我的问题 在此处输入图像描述 可以帮助我吗?谢谢

4

3 回答 3

3

只需选择您的富文本框并将其RightToLeft属性设置为Yes

在此处输入图像描述

你会得到你需要的。

在此处输入图像描述

编辑:

那么,如果我对你的理解正确,你应该自己解析richtextbox的RTF。使用 Microsoft Word,我创建了带有左格式和右格式文本的 RTF 文件,比较了它们的 RTF 字符串并进行了以下操作:

添加了openFileDialog1控件和两个按钮

button1打开文件:

private void button1_Click(object sender, EventArgs e)
{
      if (openFileDialog1.ShowDialog()==DialogResult.OK)
      {
         richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.RichText);
      }
}

button2更改richtextbox 的RTF 字符串:

private void button2_Click(object sender, EventArgs e)
{
     var indexofltrparObject = richTextBox1.Rtf.IndexOf(@"\ltrpar", System.StringComparison.Ordinal);
     richTextBox1.Rtf = richTextBox1.Rtf.Insert(indexofltrparObject, @"\qr");
}

所以我 button2点击之前得到了:

在此处输入图像描述

之后:_

在此处输入图像描述

那是你需要的吗?

更多编辑

要将文本对齐更改回LeftToRight,只需删除“\qr”字符串您最近添加到richtextbox 的 RTF 字符串:

private void button3_Click(object sender, EventArgs e)
{
     int indexOfQr = richTextBox1.Rtf.IndexOf(@"\qr", System.StringComparison.Ordinal);
     if (indexOfQr != -1)
        richTextBox1.Rtf = richTextBox1.Rtf.Remove(indexOfQr, @"\qr".Length);
}
于 2012-09-28T06:30:09.457 回答
0

如果我创建一个 RTB,我可以将样式更改为 rightToLeft。只需将此选项设置为是。希望这是您想要的,否则请详细告诉我您想做什么,我可以帮助您;)

编辑:也许你可以走这条路。检查每一行第一个字符是否为项目符号。如果是真的删除它并将其附加到另一侧。

于 2012-09-28T06:22:22.303 回答
0

将 RichTextBox 的属性值更改RightToLeft为“是”。

于 2012-09-28T06:29:34.007 回答