C#如何将剪贴板中的格式化文本粘贴到RichTextBox

时间:2012-03-17 10:16:28

标签: c# winforms richtextbox paste formatted

我将上下文菜单添加到richboxtext,只有一个功能“粘贴”。什么代码会将我的剪贴板内容(例如从Microsoft Word复制)粘贴到richboxtext表单?我尝试过:

    private void PasteToolStripMenuItem_Click_1(object sender, EventArgs e)
    {
        richTextBox1.Text = Clipboard.GetText();
    }

但它会粘贴非格式化文本。如何使用格式粘贴文本?

3 个答案:

答案 0 :(得分:5)

DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Html);

if(richTextBox1.CanPaste(myFormat))
{
    richTextBox1.Paste(myFormat);
    return true;
}

您应该更改Richtextbox应允许的类型的Dataformats.Html。

以下是DataFormats列表:http://msdn.microsoft.com/en-us/library/system.windows.forms.dataformats.aspx

答案 1 :(得分:5)

知道了!

只需指定格式:

richTextBox1.Text = Clipboard.GetText(TextDataFormat.Rtf);

更新

这将帮助您从MS Word获取格式化文本(仅限文本)

答案 2 :(得分:0)

尝试:

richTextBox1.selectedRtf=Clipboard.GetData(DataFormats.Rtf).ToString();