从 c# winforms 应用程序禁用超链接打开浏览器
Disable hyperlink opening browser from c# winforms application
我们有一个 .Net 应用程序,它在某些页面中嵌入了 google 地图。我们希望阻止用户在单击 Google 地图中的 link 时打开 WebBrowser
控件(例如关于地点的信息提示等...)。这可能吗?我是 .Net 的新手 :)
禁用导航
您可以使用以下两种方式阻止基于点击 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 或结果。
我们有一个 .Net 应用程序,它在某些页面中嵌入了 google 地图。我们希望阻止用户在单击 Google 地图中的 link 时打开 WebBrowser
控件(例如关于地点的信息提示等...)。这可能吗?我是 .Net 的新手 :)
您可以使用以下两种方式阻止基于点击 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 或结果。