Menu

问题  在WebBrowser控件中单击链接时,如何打开Internet浏览器?

joukuh.

新成员
加入
2013年11月21日
消息
4
编程经验
1-3
你好,

在我的应用程序中,我有一个WebBrowser控件我用于查看HTML格式化的电子邮件。但是当我点击WebBrowser内的超链接时查看电子邮件时,链接将在控件内打开。我实际上想要的是强迫我的应用程序启动标准的Internet浏览器(例如,如果您使用它作为您的默认Internet浏览器或Google Chrome,如果这是您的标准Internet浏览器等,则打开单击的链接。

有人能告诉我如何完成这一点吗?

提前致谢,

此致,

joukuh。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,703
地点
悉尼,澳大利亚
编程经验
10+
处理WebBrowser的导航事件。您可以获得它导航的URL并将其传递给进程调用.Start。这将打开默认的Web浏览器并加载该页面。然后,您可以取消该事件以防止在控件中导航。
 

jmplhinney.

C#论坛主持人
工作人员
加入
2011年4月23日
消息
3,703
地点
悉尼,澳大利亚
编程经验
10+
谢谢你的回复,但如果我取消导航事件,我无法再打开任何其他电子邮件......
由您决定您是否应该取消事件,而且只有在适当时才执行此操作。据推测,您可以区分两者。这就是“如果'陈述是什么。如果你无法区分两者,那么你如何期望该计划这样做?这将是魔法。
 

joukuh.

新成员
加入
2013年11月21日
消息
4
编程经验
1-3
由您决定您是否应该取消事件,而且只有在适当时才执行此操作。据推测,您可以区分两者。这就是“如果'陈述是什么。如果你无法区分两者,那么你如何期望该计划这样做?这将是魔法。

你肯定的权利!我已经完成了以下内容来完成我想要的东西:

私人的 空白 htmlviewer_navigating( 目的 发件人, WebBrowsernavigatingEventargs. e)
{
如果 (e.url.tostring()。Startswith("http" )))
{
e.Cancel = 真的 ;
MessageBox..show(e.url.tostring());
过程 .start(e.url.tostring());
}
别的
{
e.Cancel = 错误的 ;
}
}And it works  :)
 
最佳 底部