【问题标题】:WebBrowser Copy/SelectAll Command not working C#WebBrowser Copy/SelectAll 命令不起作用 C#
【发布时间】:2022-02-03 22:54:43
【问题描述】:

我遇到了以下在 C# 中将 HTML 文档转换为 RTF 的方法。

private static byte[] HtmlDocumentToRtfBytes(string html)
{
    var rtbTemp = new System.Windows.Forms.RichTextBox();
    var wb = new System.Windows.Forms.WebBrowser();
    wb.Navigate("");

    var doc = wb.Document.OpenNew(true); 
    doc.Write(html); 

    wb.Refresh(); 
    wb.Document.ExecCommand("SelectAll", false, null);
    wb.Document.ExecCommand("Copy", false, null);

    rtbTemp.SelectAll();
    rtbTemp.Paste();

    return Encoding.ASCII.GetBytes(rtbTemp.Rtf);
}

但不幸的是,在执行“SelectAll”或“Copy”命令时,WebBrowser 似乎存在问题,因为当我检查 RichTextBox 的内容时,它只包含我在执行程序之前剪贴板中的内容.

该方法在 Microsoft Outlook 的 COM 加载项中运行。 .NET 版本是 4.7.2

【问题讨论】:

  • SelectAll和Copy不是在原网页上执行宏吗?
  • @jdweng 是的,它应该用页面的内容填充剪贴板
  • 如果您使用不同的 URL,新的 URL 可能没有这些命令。
  • @jdweng 该网址是关于:空白
  • 您没有 URL,因此这两个命令不存在。什么是原始网址。

标签: c# .net winforms webbrowser-control richtextbox


【解决方案1】:

显然您需要在 IE Internet 设置中启用对剪贴板的编程访问。

https://i.stack.imgur.com/Fm3X2.png

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2021-07-26
  • 2017-06-15
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
相关资源
最近更新 更多