如何移动粗体文本到另一个richtextbox

本文关键字:文本 另一个 richtextbox 何移动 移动 | 更新日期: 2023-09-27 17:54:11

好的,我把代码留在这里。

从代码中可以看到,有一个按钮使文本加粗,但不是整个文本,只是用户接下来要写的东西。

例如,当用户输入abc时,单击按钮,输入def:他得到:abcdef

但是,当使用:richtextbox2.text = richtextbox1.text;时,richtextbox2.text的值变为abcdef,而不是abc def

我要精确复制文本,包括粗体文本。

谢谢。

如何移动粗体文本到另一个richtextbox

使用文本框的RTF属性而不是text属性…

richtextbox2.Rtf = richtextbox1.Rtf

请授予essedbl,因为他应得的分数,但另一种可以方便使用RTF框的方法是使用SelectedText属性…

设置SelectionStartSomeRTFControl.Text.Length, SelectionLength为0。

然后,将SelectedText属性设置为您想要的任何内容,并使用SelectionX属性来格式化颜色,字体,大小等…

这不会导致视觉伪影/闪烁,但允许对以编程方式添加到RTF中的文本进行非常高级的控制,并且还提供了通常的强类型优势。

这些都不起作用:

this.rtxtReport.Rtf = "{''rtf1''ansi''deff0{''fonttbl{''f0 Tahoma;}}";
this.rtxtReport.Rtf += "{''colortbl;''red0''green0''blue0;''red255''green0''blue0;}";
this.rtxtReport.Rtf += "{''header''pard''qr''plain''f0''chpgn''par}";
this.rtxtReport.Rtf += "{''pard{''b ";
this.rtxtReport.Text += this.Ln + "> " + "VSTFS Report - " + System.DateTime.Now;
this.rtxtReport.Rtf += " ''b}''par}";

到目前为止,我能够加粗文本的唯一方法是选择它,这是不实用的,我从头开始创建文档,你必须选择你要添加的文本,这样做了,它加粗了文本,但后来添加了其他一切!!... select(start, length)上有长度,所以是胸围。

有没有人真的通过使用rtf格式而不必选择文本来获得c#的加粗文本?