我写了一个IE ToolBar 功能是当输入一个查询词,同时打开多个页面,每个页面显示一个搜索引擎对这个查询词的查询结果。
比如我要比较百度和Google的查询结果,我输入一个查询词,我希望IE会打开两个标签显示查询的结果,并且我在Toolbar中再输入另一个查询词,会在刚才打开的那两个标签中显示新查询词的查询结果,并不会打开新的标签。我现在是使用WebBrowser.navigate(name,url)函数打开每个页面的,使用这个函数会把结果显示在新的窗口中,而不是标签中,请问有什么方法能实现我想要的功能。十分感谢。
比如我要比较百度和Google的查询结果,我输入一个查询词,我希望IE会打开两个标签显示查询的结果,并且我在Toolbar中再输入另一个查询词,会在刚才打开的那两个标签中显示新查询词的查询结果,并不会打开新的标签。我现在是使用WebBrowser.navigate(name,url)函数打开每个页面的,使用这个函数会把结果显示在新的窗口中,而不是标签中,请问有什么方法能实现我想要的功能。十分感谢。
解决方案 »
- 完成端口,取消投递的问题?
- 关于怎样制作像开发工具Visual Studio 2003及以上版本中解决方案资源管理器,类视图等窗体的问题
- 请教readstring问题,在线等
- ocx中对话框上画图
- 高分求教关于IE编程
- 请教高手,我在网上下载了一个程序,是老外写的,我把界面改成了中文,例如对话框上的edit、label的caption,编译、运行中文不能显示,是
- 怎么去掉单文档视图中的菜单
- 关于socket 5代理的问题
- 关于SETFOCUS()的问题,不是MICROSOFT的错,也不是我的错,那.....
- hboy,在渐变矩形中给你的分被CSDN吃了,请来领取30分
- 获取网页中的资源流,知道的100+(请回答问题的人看清楚问题再答)
- 属性页标签右键消息
Whenever an event is raised, create a new instance of the browser control
Assign the event parameter ppDisp to the Application property of the new instance
我能得到当前IE的WebBrowser对象,我希望能控制IE在标签中打开页面,而不是在新窗口中,并且每次都在固定的标签中打开,不会不断打开新标签。不知道我现在解释清楚没?
由于直接使用WebBrowser的Navigate方法,不指定frameName就可以在Tab中打开页面,我就想把如果能操作已经打开的Tab,就可以实现我想要的功能。
Explorer.Navigate(url, ref navOpenInNewTab, ref o, ref o, ref o);
我在类中定义了一个Static的list用来保存打开的每个Tab对应的WebBrowser对象。
protected static List<IWebBrowser> webBrowsers = new List<IWebBrowser>();
在IObjectWithSite.SetSite(Object pUnkSite)方法中把每次得到的WebBrowser对象添加到List中
在查询一个新的查询词时,对每个搜索引擎赋予一个TabIndex变量,如果TabIndex < List.count,则用List中的WebBrowser对象打开网页,否则创建新的WebBrowser对象。 protected void openPage(string url, string destination,int tabIndex)
{
object o = null;
object obj = destination;
object navOpenInNewTab = 0x0800;
if (tabIndex > webBrowsers.Count - 1)
{
Explorer.Navigate(url, ref navOpenInNewTab, ref o, ref o, ref o);
}
else
{
webBrowsers[tabIndex].Navigate(url, ref o, ref o, ref o, ref o);
}
}BTW,我是用C# 来实现的,所以代码都是C#的。