可是直接加载一个string然后按照html格式解析显示出来(当然这个string包含的内容要是html的吧,不然用webbrowser这个控件的意义就不大了),也可以从一个stream加载一个网页。
例一:直接从一个string加载一个网页
WebBrowser mybrowser = new WebBrowser();
mybrowser.DocumentText = "<html><body>Please enter your name:<br/>" +
"<input type='text' name='userName'/><br/>" +
"<a href='http://www.microsoft.com'>continue</a>" +
"</body></html>";
this.Controls.Add(mybrowser);
其实质就是修改了documenttex的值,注意在设置该属性时,WebBrowser 控件在加载指定文本之前,自动导航到 about:blank URL。这意味着设置该属性时,发生 Navigating、Navigated 和 DocumentCompleted 事件,且 Url 属性的值不再有意义。
例二:从一个stream加载网页。这种情况下,有两种方法:
法1:
WebBrowser mybrowser = new WebBrowser();
string myweb_html = "<html><body>Please enter your name:<br/>" +
"<input type='text' name='userName'/><br/>" +
"<a href='http://www.microsoft.com'>continue</a>" +
"</body></html>";
Stream mystream = new MemoryStream(Encoding.Default.GetBytes(myweb_html));
mybrowser.DocumentStream = mystream;
this.Controls.Add(mybrowser);
法2:
WebBrowser mybrowser = new WebBrowser();
string myweb_html = "<html><body>Please enter your name:<br/>" +
"<input type='text' name='userName'/><br/>" +
"<a href='http://www.microsoft.com'>continue</a>" +
"</body></html>";
Stream mystream = new MemoryStream(Encoding.Default.GetBytes(myweb_html));
StreamReader sr = new StreamReader(mystream);
mybrowser.Navigate("about:blank");
mybrowser.Document.OpenNew(true);
string str = sr.ReadToEnd();
mybrowser.Document.Write(str);
this.Controls.Add(mybrowser);
注意使用法1,设置documentstream属性时,WebBrowser 控件在加载指定文本之前,自动导航到 about:blank URL。这意味着设置该属性时,发生 Navigating、Navigated 和 DocumentCompleted 事件,且 Url 属性的值不再有意义。