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

Disable hyperlink opening browser from c# winforms application

我们有一个 .Net 应用程序,它在某些页面中嵌入了 google 地图。我们希望阻止用户在单击 Google 地图中的 link 时打开 WebBrowser 控件(例如关于地点的信息提示等...)。这可能吗?我是 .Net 的新手 :)

尝试使用 WebBrowser.AllowNavigation

禁用导航

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

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 事件时,请记住只有在导航到所需的 url.
  • 后才添加此事件的处理程序
  • 使用这些方式,您只能阻止基于单击 link 的导航,例如如果您将初始 url 也设置为 google,则您可以执行搜索但您无法导航至 url 或结果。