【问题标题】:Disable hyperlink opening browser from c# winforms application禁用从 c# winforms 应用程序打开浏览器的超链接
【发布时间】:2015-09-07 16:01:09
【问题描述】:

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

【问题讨论】:

  • 您可以通过将 webBrowser 的 AllowNavigation 属性设置为 false 来阻止导航到网页。它会工作的。

标签: c# .net winforms webbrowser-control


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

【讨论】:

  • 太棒了。谢谢。事实证明,我需要这两种方法。第一个在我的弹出窗口中工作,第二个在我的主窗口中工作。
【解决方案2】:

尝试使用WebBrowser.AllowNavigation禁用导航

【讨论】:

  • 感谢您的帮助。似乎 Aghaeis 的回答更完整,对我进行了全面分类
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 2014-09-02
  • 2016-01-09
  • 2014-09-30
相关资源
最近更新 更多