3

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

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

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

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

我想复制准确的文本,包括粗体文本。

谢谢。

4

3 回答 3

2

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

richtextbox2.Rtf = richtextbox1.Rtf
于 2011-05-02T22:14:32.723 回答
1

请奖励 essedbl,因为他应得的分数,但另一种可以与 RTF 盒子派上用场的方法是使用该SelectedText属性...

具体来说,设置SelectionStart为0SomeRTFControl.Text.LengthSelectionLength0。

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

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

希望这可以帮助。

于 2011-05-02T22:44:17.590 回答
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}";

到目前为止,我能够加粗文本的唯一方法是选择它,这是不切实际的,我正在从头开始创建文档,您必须选择要添加的文本,做到了,它做到了加粗该文本,但后来添加的所有其他内容都加粗!!... select(start, length) 上面有长度,所以很糟糕。

任何人实际上都可以通过使用 rtf 格式而不是选择文本来使 C# 变为粗体文本吗?

于 2012-03-14T22:52:05.070 回答