AxWebBrowser和WebBrowser的区别??

awnuytnh 2010-02-08 01:28:23
问一下AxWebBrowser和WebBrowser有什么区别么,用这两个做浏览器有什么不一样么,是不是都是显示浏览页面的?
...全文
3760 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shiguangmanbu_AHX 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 awnuytnh 的回复:]
不好意思,再问一个问题我之前用WebBrowser时,在窗体的标题里显示当前网页的标题,用的是this.Text=WebBrowser.DocumenTitle;
可是现在用AxWebBrowser,并没有DocumenTitle这个方法,那我应该怎么在标题栏里显示当前网页显示的标题呢?
[/Quote]

你好,WebBrowser空间和AxWebBrowser控件是不一样的,AxWebBrowser控件修改标题的方法是:
this.Text=AxWebBrowser.LocationName;
你可以试一下
蒋晟 2010-03-23
  • 打赏
  • 举报
回复
捕获DWebBrowserEvents2::TitleChange
http://msdn.microsoft.com/en-us/library/66ahbe6y(VS.71).aspx
awnuytnh 2010-02-08
  • 打赏
  • 举报
回复
不好意思,再问一个问题我之前用WebBrowser时,在窗体的标题里显示当前网页的标题,用的是this.Text=WebBrowser.DocumenTitle;
可是现在用AxWebBrowser,并没有DocumenTitle这个方法,那我应该怎么在标题栏里显示当前网页显示的标题呢?
awnuytnh 2010-02-08
  • 打赏
  • 举报
回复
哦,那也要谢谢你了,我自己再研究研究吧。。。
mxc1225 2010-02-08
  • 打赏
  • 举报
回复
引用 5 楼 awnuytnh 的回复:
是不是意思说应该最好还是用AxWebBrowser 啊?还有,怎么实现打开网页分页啊,就是像腾讯做的那个TT,打开一个新网页时以分页的形式显示,如果有相应的网址教程什么的更好,麻烦你了....

网页分页是什么意思啊!?!?
打开多个标签页可做个IE ToolBar
具体的我还不是很清楚!不好意了!!
awnuytnh 2010-02-08
  • 打赏
  • 举报
回复
是不是意思说应该最好还是用AxWebBrowser 啊?还有,怎么实现打开网页分页啊,就是像腾讯做的那个TT,打开一个新网页时以分页的形式显示,如果有相应的网址教程什么的更好,麻烦你了....
mxc1225 2010-02-08
  • 打赏
  • 举报
回复
mxc1225 2010-02-08
  • 打赏
  • 举报
回复
VS2005自带的WebBrowser功能较少,AxWebBrowser控件暴露的事件更多些。比如打开新窗口的控制,WebBrowser貌似没有简单的方法来实现。
WebBrowser 控件的 ActiveXInstance 其实就是 SHDocVw.WebBrowser 接口,包含了丰富的事件和属性,AxWebBrowser 似乎也是基于次接口进行封装的。

WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate("about:blank");//这句话重要,要先访问一个URL,否则ActiveXInstalce为空
SHDocVw.WebBrowser xBrowser = webBrowser.ActiveXInstance as SHDocVw.WebBrowser;

然后就可以用 xBrowser 的各个事件了。
由于 SHDocVw.WebBrowser 事件没有 sender 参数,直接对 SHDocVw.WebBrowser 编程在处理事件时无法区分事件源,所以要对 SHDocVw.WebBrowser 进行封装,我的做法是作一个 UserControl,里面组合了 WebBrowser 控件,然后对 SHDocVw.WebBrowser 的事件进行包装,包装结果跟 AxWebBrowser 的对应事件一样。

总结:应该把 WebBrowser 和 AxWebBrowser 结合起来使用,各取所长

awnuytnh 2010-02-08
  • 打赏
  • 举报
回复
我用的是VS2005,自身已经包含了Webbrowese控件,后来我就是在COM组件里又添加了AXWebbrowese,所以我想知道这两者的区别是什么?
mxc1225 2010-02-08
  • 打赏
  • 举报
回复
象其他ActiveX Control一样,Visual Studio.Net IDE工具箱在默认情况下并不直接包含WebBrowser控件。不过,在应用程序中添加该控件很简单。在Visual Studio.Net 开发环境下,在"工具箱"的"Windows 窗体"上点击鼠标右键,从弹出的上下文菜单中选择"自定义工具箱",在随后出现的"自定义工具箱"对话框的"com组件"标签里选中"Microsoft Web 浏览器",确定后,"Iexplorer"控件就会显示在工具箱中,它其实就是一个WebBrowser控件。这之后,象使用Windows标准控件一样,把Iexplorer控件拖入应用程序的窗体就可以了。Visual Stuod.Net IDE将自动生成所需要的部分COM代码,同时,C# windows应用程序也将自动添加AxSHDocVw及SHDocVx引用(你可以在应用程序解决方案管理器"引用"项下看到它们),分别对应于磁盘上的Interop.SHDocVw.dll和AxInterop.SHDocVw.dll文件(你可以在应用程序\Bin\Debug目录下找到它们)。同时,代码也将自动创建 AxSHDocVw.AxWebBrowser 实例对象,并设置默认名称为axWebBrowser1(语句:private AxSHDocVw.AxWebBrowser axWebBrowser1
由于一时的头脑发热,花了两个晚上基于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很少,不过代码没什么注释,读者就费点眼神吧,呵呵 :-)

110,500

社区成员

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

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

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