我向 Richboxtext 添加了上下文菜单,只有一个功能“粘贴”。什么代码会将我的剪贴板内容(例如从 Microsoft Word 复制)粘贴到 richboxtext 表单?我尝试过:
private void PasteToolStripMenuItem_Click_1(object sender, EventArgs e)
{
richTextBox1.Text = Clipboard.GetText();
}
但它粘贴非格式化文本。如何粘贴带有格式的文本?
明白了!
只需指定格式:
richTextBox1.Text = Clipboard.GetText(TextDataFormat.Rtf);
这将帮助您从 MS Word 获取格式化文本(仅限文本)
DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Html);
if(richTextBox1.CanPaste(myFormat))
{
richTextBox1.Paste(myFormat);
return true;
}
您应该更改 Richtextbox 允许的 Dataformats.Html 类型。
这里是数据格式列表:http://msdn.microsoft.com/en-us/library/system.windows.forms.dataformats.aspx
尝试:
richTextBox1.selectedRtf=Clipboard.GetData(DataFormats.Rtf).ToString();
Amritpal 的解决方案是唯一适合我的版本(SelectedRtf 中的大写 S):
richTextBox1.SelectedRtf = Clipboard.GetData(DataFormats.Rtf).ToString();