禁用从c#winforms应用程序打开浏览器的超链接

时间:2015-09-07 16:01:10

标签: c# .net winforms webbrowser-control

我们有一个.Net应用程序,可以在某些页面中嵌入谷歌地图。我们希望阻止用户在点击Google地图中的链接时打开WebBrowser控件(例如有关地点的信息提示等)。这可能吗?我对.Net :)很新。

2 个答案:

答案 0 :(得分:1)

尝试使用WebBrowser.AllowNavigation

禁用导航

答案 1 :(得分:1)

您可以使用以下两种方式阻止基于点击链接的导航:

1-使用AllowNavigation属性

this.webBrowser1.AllowNavigation = false;

2-使用Navigating事件

private void BrowserSample_Load(object sender, EventArgs e)
{
    this.webBrowser1.Navigate("http://www.google.com");
    this.webBrowser1.Navigating += webBrowser1_Navigating;
}

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    //you can use e.Url to allow or deny navigation based on your logic
    e.Cancel = true;
}

使用上述方法之一时请考虑以下注意事项:

  • 使用Navigating事件可以获得对导航的更多控制权,您可以阻止某些导航并允许其他一些导航。
  • 使用Navigating事件时,请务必在导航到所需网址后添加此事件的处理程序。
  • 使用这些方法,您只能阻止基于点击链接的导航,例如,如果您将初始网址设置为google,那么您可以执行搜索,但无法导航到网址或结果。< / LI>