【问题标题】:C# How can I paste formatted text from clipboard to the RichTextBoxC# 如何将格式化文本从剪贴板粘贴到 RichTextBox
【发布时间】:2016-02-12 13:47:56
【问题描述】:

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

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

但它会粘贴非格式化文本。如何粘贴带有格式的文本?

【问题讨论】:

  • Clipboard.GetDataObject().ToString(); 怎么样?

标签: c# winforms richtextbox paste formatted


【解决方案1】:

知道了!

只需指定格式:

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

更新

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

【讨论】:

    【解决方案2】:
    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

    【讨论】:

    • 问题是richtextbox不允许DataFormats.Html。
    【解决方案3】:

    试试:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-23
      • 2014-10-25
      • 1970-01-01
      • 2019-10-26
      相关资源
      最近更新 更多