从RichTextBox复制所选文本

nev*_*out 3 c# richtextbox winforms

我在网上搜索过,但我找不到复制/剪切/粘贴选定文本的方法RichTextBox.

即使MSDN也没有答案.他们提供的代码不起作用:Copy()只显示在TextBoxes上,而不是RichTextBoxes.

Dra*_*sha 9

如果我复制这个方法:

Clipboard.SetText(richTextBox1.SelectedRtf, TextDataFormat.Rtf);
Run Code Online (Sandbox Code Playgroud)

我无法粘贴到记事本

如果我复制这个方法:

Clipboard.SetText(richTextBox1.SelectedText, TextDataFormat.UnicodeText);
Run Code Online (Sandbox Code Playgroud)

它在Word和记事本中工作,但在没有格式化的情况下插入单词

richTextBox1.Copy();
Run Code Online (Sandbox Code Playgroud)

在Word和记事本中工作,但我无法修改字符串值.

如何在剪贴板中复制正常格式的字符串?

PS我找到了

DataObject dto = new DataObject();
dto.SetText(mesrtf, TextDataFormat.Rtf);
dto.SetText(mes, TextDataFormat.UnicodeText);
Clipboard.Clear();
Clipboard.SetDataObject(dto);
Run Code Online (Sandbox Code Playgroud)

有用


JLW*_*low 5

如果您使用的是.NET 3.0及更高版本,则可以始终使用Clipboard.SetText()

我发现当我想要richTextBox中的所有东西而不必先选择所有内容或者我需要更改字符串时,使用剪贴板很有用:

string text = "Summary:" + Environment.NewLine + this.richTextBoxSummary.Text;
Clipboard.SetText(text);
Run Code Online (Sandbox Code Playgroud)