axWebBrowser

wujx0104 2006-02-13 06:42:05
怎么在winform中的axWebBrowser中显示特定格式的网页.

这是个例子:
<html>
<head>
<style type="text/css">
body {font-family:Verdana,Sans-serif; font-size:10pt; margin:0; padding:0; background:#fff; color:#000}
td,form {font-family:Verdana,Sans-serif; font-size:10pt;}
A {color:#66c; text-decoration: none;}
A.black {color:#000; text-decoration: none;}
A:hover, A:active {text-decoration: underline;}
</style>
<base href="http://news.sina.com.cn/iframe/o/allnews/input/index.htm">
</head>
<body>
<table width="100%" bgcolor="#cccccc" cellpadding="0" cellspacing="0" border="0">
<tr><td>
<a href="http://news.sina.com.cn">
<img align="left" border="0" src="http://image2.sina.com.cn/dy/sina_news626.gif" alt="新闻中心"></a>
 <a href="http://news.sina.com.cn/iframe/o/allnews/input/index.htm" class="black"><b>Feed: </b>新闻中心-新闻要闻</a><br/>
 <a href="http://news.sina.com.cn/c/2006-02-13/10378192126s.shtml" class="black"><b>Title: </b>我国乙肝防治规划优先保护新生儿和重点人群</a>
</td><td align="right">
<b>Author: </b>WWW.SINA.COM.CN <br/>
</td></tr>
<tr bgcolor="#666666" height="1"><td colspan="2"></td></tr>
</table>
<table width="100%" cellpadding="2" cellspacing="2" border="0"><tr><td>

中新网2月13日电 中国卫生部近日发布《2006-2010年全国乙型病毒性肝炎防治规划》,以科学、规范和有效开展全国乙型病毒性肝炎防治工作。
  《防治规划》提出,采取免疫预防为主、防治兼顾的综合措施,优先保护新生儿和重点人群,有效遏制乙肝的高流行状态,至2010年使中国....

</td></tr></table>
</body>
</html>

我想在axWebBrowser也这样显示,里面的链接和文字是要当参数传进页面的.根据不同的参数显示不同的内容.

该如何做???请高手执教
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
蒋晟 2006-02-14
  • 打赏
  • 举报
回复
private void Navigate(AxSHDocVw.AxWebBrowser browser, string strHTMLSource) {


UCOMIStream stream = null;


ComSupport.CreateStreamOnHGlobal(Marshal.StringToHGlobalAnsi(xml), 1,
out stream);


int pointerSize = Marshal.SizeOf(typeof(Int64));


IntPtr pointer = Marshal.AllocHGlobal(pointerSize);


stream.Seek(0, 2, pointer);


ulong size = (ulong)Marshal.ReadInt64(pointer);


Marshal.FreeHGlobal(pointer);


if (size != (ulong)strHTMLSource.Length + 1)


stream.SetSize(strHTMLSource.Length + 1);


stream.Seek(0,0,IntPtr.Zero);


IPersistStreamInit persistentStreamInit =
(IPersistStreamInit)browser.Document;


if (persistentStreamInit != null) {


persistentStreamInit.InitNew();


persistentStreamInit.Load(stream);


persistentStreamInit = null;


}


stream = null;



}
True1024 2006-02-13
  • 打赏
  • 举报
回复
VB.NET : AxWebBrowser1.Navigate("http:\\www.sohu.com")
用IE怎传的?你就怎么传呗。
由于一时的头脑发热,花了两个晚上基于AxWebBrowser写了一个浏览器MyIE。现在用这个浏览器发的帖子,有点小市民的成就感,嘿嘿。源代码可以在本人的资源里下载到,这里简单总结如下:

1、VS2005自带的WebBrowser功能较少(网上资源也不多),AxWebBrowser控件暴露的事件更多些。比如打开新窗口的控制,WebBrowser貌似没有简单的方法来实现。

2、实现标签式界面,难点有:1)所有标签共用一个地址条、状态条、导航按钮,要切换上下文,要把界面状态封装起来,我封装到 BrowserData 类里,寄存在 TabPage.Tag 属性里;2)关闭一个Tab页时,默认会激活第一个Tab页,而不会回到上一个标签,我设计了一个标签栈(_pageStack)来管理;

3、实现了状态条,赞叹VS2005的 ToolStrip 功能强大,使用起来太方便了!感谢为我们铺路的工作者们!

4、实现了收藏夹功能,跟IE实时同步,其实也很简单,就是打开 Favorite 目录,遍历目录和子目录,解析链接文件;另一个难题是调出 IE 界面,例如“Internet 选项”“整理收藏夹”“添加到收藏夹”等;

5、集成了Google、百度搜索。

6、实现了输入框的自动完成,跟IE的效果完全一致。这里再次赞叹 ToolStrip 控件的强大~~

7、实现了地址条输入框历史记录管理、搜索关键字历史记录管理

8、花的时间很短,bug很少,不过代码没什么注释,读者就费点眼神吧,呵呵 :-)

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧