用IE浏览器的Com组件在WinForm中显示资源中的HTML文件

王朝html/css/js·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

/// 利用IE浏览器的Com组件在WinForm中显示资源文件中的HTML文件.

///

/// 这里重点有两个:

/// 1. 调用IE的COM组件

/// 2. 调用编译到exe文件中的resource

/// 具体步骤如下,具体用法请查询帮助:

/// 0. 在Project中添加about.htm, 内容自定,属性设置为"Embedded Resource"

/// 1. 在菜单tools->customize toolbox里面选中COM组件"microsot web 浏览器"

/// 2. 在Solution explorer->Test(项目名)->References右键添加Microsoft.mshtml(mshtml.dll)

/// 3. 在WinForm窗体上放置浏览器新增加的浏览器控件axWebBrowser1

/// 4. 添加链接按钮linkAbout

/// 5. 关键代码如下:

private void linkAbout_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)

{

this.navigate("about:blank");

mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)this.axWebBrowser1.Document;

String aboutHtml = this.getStringResource("about.htm");

System.Diagnostics.Debug.Write(aboutHtml);

object[] obj = {aboutHtml};

doc.write(obj);

}

private string getStringResource(String name)

{

System.Reflection.Assembly asm = this.GetType().Assembly;

//list all resources in this file

System.Diagnostics.Debug.WriteLine("found resouces:");

foreach (String rs in asm.GetManifestResourceNames())

System.Diagnostics.Debug.WriteLine(rs);

name = this.GetType().Namespace+"."+name;

System.IO.Stream strm = asm.GetManifestResourceStream(name);

//convert to String with default system encoding.

return new System.IO.StreamReader(strm,System.Text.Encoding.Default).ReadToEnd();

}

private void navigate(String url)

{

object flags = 0;

object targetFrame = String.Empty;

object postData = String.Empty;

object headers = String.Empty;

this.axWebBrowser1.Navigate(url,ref flags,ref targetFrame,ref postData,ref headers);

}

///本文为转载

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航