如何移动粗体文本到另一个richtextbox
本文关键字:文本 另一个 richtextbox 何移动 移动 | 更新日期: 2023-09-27 17:54:11
好的,我把代码留在这里。
从代码中可以看到,有一个按钮使文本加粗,但不是整个文本,只是用户接下来要写的东西。
例如,当用户输入abc时,单击按钮,输入def:他得到:abcdef。
但是,当使用:richtextbox2.text = richtextbox1.text;
时,richtextbox2.text
的值变为abcdef
,而不是abc def。
我要精确复制文本,包括粗体文本。
谢谢。
使用文本框的RTF属性而不是text属性…
richtextbox2.Rtf = richtextbox1.Rtf
请授予essedbl,因为他应得的分数,但另一种可以方便使用RTF框的方法是使用SelectedText
属性…
设置SelectionStart
为SomeRTFControl.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#的加粗文本?