【问题标题】:C# WebBrowser control not displaying custom HTMLC# WebBrowser 控件不显示自定义 HTML
【发布时间】:2016-02-02 22:38:44
【问题描述】:

我有一个网络浏览器控件,由于某种原因没有加载我的 HTML:

 string updatingChatHTML = ""
        + "<HTML>    "
        + "<head>"
        + "<style>"
        + "body {"
        + "  margin: 0px;"
        + "  padding: 0px;"
        + "  background: " + chatBackground + ";\n"
        + "  Font-Family: Arial;"
        + "  font-size: 11px; "
        + "  text-align: left;"
        + "}"
        + "</style>"
        + "</head>"
        + "<body>";
txtChat.DocumentText = updatingChatHTML + "</body></HTML>";

(txtChat 是我的 WebBrowser 控件)。

奇怪的是,在我更改某些内容之前它正在工作,但我无法弄清楚我所做的更改导致它停止工作。

我在上面最后一行的后面设置了一个断点,我可以看到 updateChatHTML 的值正确,但 txtChat.DocumentText 的值仍然是 &lt;HTML&gt;&lt;/HTML&gt;\0

我认为这可能是一个初始化的事情,所以我在任何分配之前添加了txtChat.Navigate("about:blank");,但它仍然不起作用。

这个事件实际上经常被触发,第一次/两次,它不起作用,但在表单完成加载后它似乎是,但它已经是我的 Form_Load 上发生的最后一件事了。

有什么建议吗?

【问题讨论】:

    标签: c#


    【解决方案1】:

    尝试设置DocumentText属性时

    • 没有加载文档
    • 或浏览器控件未处于就绪状态(例如,当前正在加载文档)

    将导致属性分配静默失败。

    在调用Navigate 函数后,您应该监视DocumentCompleted 事件以获取导航操作何时完成的通知。

    【讨论】:

    • 谢谢,我希望不是这样,但确实如此。我的DocumentCompleted 事件中已经有很多代码并且不想对其进行屠宰,所以我基本上添加了一个检查路径是否为blank(顺便说一下,当您导航到@ 987654326@) 然后触发上面的代码,设置页面样式。几分钟后我会接受你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多