我想在我的富文本框中使用 right2left 语言,但在项目符号等方面遇到了很多问题。我想做这个
这是我的问题 可以帮助我吗?谢谢
只需选择您的富文本框并将其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);
}
如果我创建一个 RTB,我可以将样式更改为 rightToLeft。只需将此选项设置为是。希望这是您想要的,否则请详细告诉我您想做什么,我可以帮助您;)
编辑:也许你可以走这条路。检查每一行第一个字符是否为项目符号。如果是真的删除它并将其附加到另一侧。
将 RichTextBox 的属性值更改RightToLeft
为“是”。