利用IE浏览器的Com组件在WinForm中显示资源中的HTML文
来源:互联网 发布:流程优化案例 编辑:程序博客网 时间:2024/06/06 00:03
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
///
/// 这里重点有两个:
/// 1. 调用Com" target=_blank>IE的Com组件
/// 2. 调用编译到exe文件中的resource
/// 具体步骤如下,具体用法请查询帮助:
/// 0. 在Project中添加about.htm, 内容自定,属性设置为"Embedded Resource"
/// 1. 在菜单tools->customize toolbox里面选中Com组件"microsot web Com" target=_blank>浏览器"
/// 2. 在Solution explorer->Test(项目名)->References右键添加Microsoft.msHTML(msHTML.dll)
/// 3. 在WinForm窗体上放置Com" target=_blank>浏览器新增加的Com" target=_blank>浏览器控件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);
}
///后记:
///兄弟刚学C#,抛砖引玉,希望大家共同学习,有错误的地方请告诉我 msn: steeven_lee@citiz.net
///还有两个地方不清楚:
///1.有文章提到 res://Test.exe/about.htm 的用法好象行不通.
///2.重复点击about.htm的时候会不显示.
///我还写了一个聊天室刷屏的程序,需要的朋友请留言,呵呵
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
/// 利用Com" target=_blank>IECom" target=_blank>浏览器的Com组件在WinForm中显示资源文件中的HTML文件.///
/// 这里重点有两个:
/// 1. 调用Com" target=_blank>IE的Com组件
/// 2. 调用编译到exe文件中的resource
/// 具体步骤如下,具体用法请查询帮助:
/// 0. 在Project中添加about.htm, 内容自定,属性设置为"Embedded Resource"
/// 1. 在菜单tools->customize toolbox里面选中Com组件"microsot web Com" target=_blank>浏览器"
/// 2. 在Solution explorer->Test(项目名)->References右键添加Microsoft.msHTML(msHTML.dll)
/// 3. 在WinForm窗体上放置Com" target=_blank>浏览器新增加的Com" target=_blank>浏览器控件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);
}
///后记:
///兄弟刚学C#,抛砖引玉,希望大家共同学习,有错误的地方请告诉我 msn: steeven_lee@citiz.net
///还有两个地方不清楚:
///1.有文章提到 res://Test.exe/about.htm 的用法好象行不通.
///2.重复点击about.htm的时候会不显示.
///我还写了一个聊天室刷屏的程序,需要的朋友请留言,呵呵
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 利用IE浏览器的Com组件在WinForm中显示资源中的HTML文
- 利用IE浏览器的Com组件在WinForm中显示资源中的HTML文件
- 在COM组件中获取资源
- applet在IE浏览器中不能显示的解决方案
- applet在IE浏览器中不能显示的解决方案
- Java Web项目中HTML文件中的汉字在浏览器中显示乱码的解决方案
- html中的显示图片ie浏览器显示红叉
- jstree在chrome浏览器中显示的排序与其他浏览器(firefox,IE)显示不一致
- html页面 在ie 浏览器下页面显示变形
- HTML中IE浏览器版本的判断
- [资源分享]Win10系统IE浏览器中treeview控件的显示
- HTML <!--注释标签的插入,不显示在浏览器中-->
- 在IE浏览器中,点击Dialog中的超链接后,新内容在原Dialog中显示,而非弹出新的页面
- 【原创】在winform程序中实现在IE浏览器中打开一个新的页面,全屏化并屏蔽IE窗口的工具栏和地址栏
- 在ie,fierfox浏览器中,div层飘在flash上面显示的问题
- [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式
- [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式
- html元素在IE和FF浏览器中默认的css样式[转]
- Web Service描述语言 WSDL 详解(4)
- 10.3.1 服务端
- CString常用方法简介 - 文逗 - CSDNBlog
- 在C#中如何通过需要用户认证的SMTP服务器发送Email
- java process
- 利用IE浏览器的Com组件在WinForm中显示资源中的HTML文
- 离开Google的日子
- vb.net 存取数据库中的图片
- 把握VB.NET中的流(Stream) (一)
- 如何在ASP.Net 中把图片存入数据库
- 在Asp.Net 中从sqlserver检索(retrieve)图片
- Henry手记-VB.net WinForm中的FORM初探(一)
- DataSet简单使用
- Henry手记-VB.net WinForm中的FORM初探(二)