0

我正在尝试从 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>\0并且Document.Bodynull

我究竟做错了什么?

4

2 回答 2

0

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

Clipboard.SetText(RichTextBox1.Text);

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

于 2013-05-01T12:04:09.153 回答
0

因为你的页面 html 是空的,试试这个例子

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;
        }
    }
于 2013-05-01T16:37:48.873 回答