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

时间:2011-05-02 22:12:24

标签: c# .net richtextbox bold

好的,我将保留我的代码here

正如您从该代码中看到的那样,有一个按钮可以使文本粗体,但不是整个文本,只是用户要编写的下一个内容。

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

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

我想复制确切的文字,包括粗体文字。

感谢。

3 个答案:

答案 0 :(得分:2)

使用文本框的RTF属性而不是Text属性...

richtextbox2.Rtf = richtextbox1.Rtf

答案 1 :(得分:1)

请奖励essedbl,因为他应该获得积分,但另一种方法可以使用RTF盒子方便使用SelectedText属性......

具体而言,将SelectionStart设为SomeRTFControl.Text.Length,将SelectionLength设为0。

然后,将SelectedText属性设置为您想要的任何属性,并使用SelectionX属性格式化您要追加的文本的颜色,字体,大小等。

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

希望这有帮助。

答案 2 :(得分:0)

这些都不起作用:

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}";

到目前为止我唯一能够加粗文字的方法是选择不实用的文章,我从头开始创建文档,你必须选择你要添加的文本,这样做,它确实大胆的文本,但后来添加的一切! ...选择(开始,长度)有长度,所以一个半身像。

通过使用rtf格式化而不必选择文本,任何人实际上都将C#变为粗体文本?