c#WebBrowser没有在里面显示信息

时间:2014-05-16 16:35:53

标签: c# webbrowser-control

(首先,对不起我的英文) 好吧,我在一个客户端遇到问题,我尝试显示的消息没有出现在显示组件为空的组件中,这只发生在一个客户端大约1000。 它从昨天开始失败,客户端有Windows 7,我不知道他的IE版本

在这种情况下,我使用newValue的唯一方法就是引入一些粗体字。

我无法在我的机器上重现此错误,因此任何人都知道任何可能导致其失败或显示空白的原因(Windows Update,IE版本,文本内部......)?

WebBroser在Form中,我像MessageBox一样使用它,但有了这个我可以打印颜色或我在消息中想到的其他内容。

private void SetWebBrowserText(string newValue)
{
        try
        {
            if (this.webBrowser1.Document == null)
                this.webBrowser1.Navigate("about:blank");

            if (!String.IsNullOrEmpty(newValue))
                newValue = String.Concat("<div><font color=\"#000000\" size=\"2\" face=\"verdana\">", newValue.Replace("\n", "<br>"), "</font></div>");

            webBrowser1.Document.Write(newValue);
        }
        catch { }
}

2 个答案:

答案 0 :(得分:0)

Vb.net:

Public Sub ShowMessage(ByVal htmlmsg As String)
    WebBrowser1.Navigate("")
    Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
        Application.DoEvents()
        System.Threading.Thread.Sleep(1)
    Loop
    WebBrowser1.Document.Body.InnerHtml = htmlmsg
End Sub


C#:

   public void ShowMessage(string htmlmsg)
   {
    WebBrowser1.Navigate("");
    while (WebBrowser1.ReadyState != WebBrowserReadyState.Complete) {
        Application.DoEvents();
        System.Threading.Thread.Sleep(1);
    }
    WebBrowser1.Document.Body.InnerHtml = htmlmsg;
   }


例:

ShowMessage("<h1>Msg</h1> <h2 style='color:Red'>red msg</h2>")

答案 1 :(得分:0)

最后我们通过从一个明确的安装重新安装整个系统找到了解决方案,似乎框架已损坏或系统注册表。