将文本从RichTextBox复制到WebBrowser

时间:2013-05-01 11:51:15

标签: c# winforms browser richtextbox

我正在尝试从RichTextBox复制文本并将其粘贴到WebBrowser中。

我使用此代码:

WebBrowser wb = new WebBrowser();
wb.Navigate("about:blank");

richTextBox1.SelectAll();
richTextBox1.Copy();

wb.Document.ExecCommand("Paste", false, null);

wb.Document始终显示空文档。 DocumentText代表<HTML> </HTML>\0Document.Body代表null

我做错了什么?

2 个答案:

答案 0 :(得分:0)

RichTextBox的内容不是HTML,因此不兼容的剪贴板格式可能是问题的一部分。如果您对文本感到满意,请尝试将纯文本分配给剪贴板:

Clipboard.SetText(RichTextBox1.Text);

如果您想要格式化文本,则需要将RTF转换为HTML。本文可能有所帮助:http://www.codeproject.com/Articles/27431/Writing-Your-Own-RTF-Converter

答案 1 :(得分:0)

因为您的网页html为null,请尝试此示例

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.DocumentText = "<html><body></body></html>";
        }

        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            webBrowser1.Document.Body.InnerText = richTextBox1.Text;
        }
    }