C# webbrowser打开新窗口的问题?

hwj383 2008-07-16 03:26:59
无论是网页设置在父窗口打开还是新窗口(Shift+click)打开,现在要求都要在webbrowser打开.
现在我的做法是做webBrowser控件NewWindow事件
代码如下:
        private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
this.webBrowser1.Navigate(webBrowser1.Url.ToString());
e.Cancel = true;
}

但是这样做后,大部分网页上的链接都失效了,请问有什么好的方法吗?
现在我觉的是Url有问题,跟踪发现有些链接是绝对路径,但是通过上述方法变成相对路径(跳转?!不明白)
...全文
1653 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mtweb 2012-07-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
需要引用SHDocVw.dll函数
[/Quote]

请问具体怎么引用呢?
powerzzq 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hwj383 的回复:]
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);
Exception:未将对像的引用设置到对像的实例

C# codepublic Form4()
{
InitializeComponent();
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_New…
[/Quote]

this.webBrowser1.Navigate("about:blank");
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);
要先加载this.webBrowser1.Navigate("about:blank"),就不会报错了。

感谢jinjazz,帮了大忙了,可惜不能给你加分:)
「已注销」 2008-07-16
  • 打赏
  • 举报
回复
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);
Exception:未将对像的引用设置到对像的实例
public Form4()
{
InitializeComponent();
(this.webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow3 += new SHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(Form1_NewWindow3);//exception
}
void Form1_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
{
Cancel = true;
this.webBrowser1.Navigate(bstrUrl);
}
「已注销」 2008-07-16
  • 打赏
  • 举报
回复
通过搜索大约发现了20个SHDocVw.dll
大部份存在于C:\windows\$xxxxx下面
一个存在system32下面
DotNetBar里面有两个?
dllcache有一个,您说的是那一个?
jinjazz 2008-07-16
  • 打赏
  • 举报
回复
应该在system32目录下有
「已注销」 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jinjazz 的回复:]
需要引用SHDocVw.dll函数
[/Quote]
在那里呢?没有找到呢?
「已注销」 2008-07-16
  • 打赏
  • 举报
回复
有newWindow2现在又冒出个newwindow3?!
痛苦ing
jinjazz 2008-07-16
  • 打赏
  • 举报
回复
需要引用SHDocVw.dll函数
jinjazz 2008-07-16
  • 打赏
  • 举报
回复
参考
http://blog.csdn.net/jinjazz/archive/2007/11/24/1901192.aspx

这个需要用到NewWindow3 事件。
本资源提供了基于雷达信号分析的无人机识别技术MATLAB实现方案,适用于多个MATLAB版本。代码采用模块化设计,具备清晰的逻辑架构与详尽的注释说明,便于用户根据研究需求调整系统参数。配套的仿真数据集可直接加载运行,帮助使用者快速掌握核心算法流程。 在航空安全领域,随着无人机应用的普及,空中交通管理系统面临新的监管挑战。雷达探测技术通过解析电磁波反射信号,能够有效获取空中目标的方位、运动轨迹及类型特征。本方案利用MATLAB强大的数值计算与信号处理工具箱,实现了从原始回波处理到目标分类的完整算法链。具体包括信号降噪处理、时频域特征提取、多目标轨迹追踪等关键模块,其中频谱分析模块采用改进的窗函数设计以提高分辨率,运动预测算法融合了卡尔曼滤波与数据关联技术。 该实现特别注重工程实践与理论教学的结合,其参数化架构允许灵活调整雷达工作频率、扫描模式等关键变量。对于电子信息、自动控制等相关专业的学生与研究人员,可作为课程实践、课题研究及学位论文的开发平台。技术文档中详细阐述了各函数模块的接口规范与数据处理流程,并提供了多种典型场景的测试案例。 从技术发展角度看,现代无人机探测系统需整合射频感知、模式识别与自适应滤波等多领域知识。本方案在此基础上进一步引入了实时数据处理机制与可视化分析界面,用户可通过图形化结果直观评估算法性能。系统设计保留了充分的扩展接口,支持集成深度学习分类器或融合多传感器数据,以适应复杂环境下的探测需求。 这项技术的研究不仅有助于完善低空安防体系,也为智能交通监控、边境巡查等应用提供了可扩展的技术框架。通过持续优化算法效能与适应不同操作环境,该方案为相关领域的技术演进与人才培养提供了实践支撑。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
本版本不是 xiuno 官方版本,仅为 xiuno 爱好者(使用者)自行修改的分支之一。 认准 xiunobbs_4.0.4 是 xiuno 最后一个官方版本。 为什么建立此分支 尽管 xiuno4.0.4 版本已十分成熟,但在实际使用时,为达到更好的效果(如特殊字符、速度、兼容性等),仍需进一步优化。 本仓库所有修改均直接基于原版 xiunobbs_4.0.4,未来可能不再仅限于对原程序的修补。与原作者和其他爱好者相比,此版本属班门弄斧,如不足还请谅解。 本仓库修改分支同样使用 MIT 协议。 念念不忘,必有回响。让我们一起期待 xiuno 回归! 修改 修复 PHP7.4、PHP8.0 的兼容问题 编码从 utf8 改为 utf8mb4,解决 emoji 显示问题 由于 xiuno 的时间显示太过于友好,时间超过一年才显示年月日,不方便查看,故改为三日后显示年月日(不习惯的可以自行搜索修改日期的方法,然后自己逆推一下) 修复后台插件页面打不开的问题;将启用的插件排在前面 方便了自定义论坛背景(若不修改 css,也可将背景重命名为 background.png 后放入/view/img 目录下。已简单处理,图片可自适应) 修复 http_url_path 方法在 php8.1 下报错问题 Dev 将框架从 Bootstrap 4 升级至 Bootstrap 5.3.0 前台基本适配 后台基本适配 初步适配 Base16配色助手 插件 【持续补充……】 【以下为 xiunobbs_4.0.4 原版说明文件】 【Xiuno BBS 4.0 是什么?】 Xiuno BBS 4.0 是一款轻论坛产品,前端基于 BootStrap 4.0、JQuery 3,后端基于 PHP/7 MySQL XCache/Yac/Redis/Memcached.

111,120

社区成员

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

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

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