为什么外部IE是从.NET Web浏览器打开的

本文关键字:浏览器 Web NET 外部 IE 是从 为什么 | 更新日期: 2023-09-27 18:31:23

我有这个表单,里面有一个System.Windows.Forms.WebBrowser控制器。其中一个 html 页面中有一些 href,如下所示

 <a href="https://twitter.com/xxx" target="_blank">
   <h3 style="margin-top:15%; text-align:center">xxx</h3>
 </a>

我正在捕捉

点击
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)

并按原样打开页面

webBrowser1.Navigate(page);

现在这有效,页面显示在 webBrowser1 中,但这也会打开具有相同页面的外部 IE。实际上,外部IE首先打开,然后webBrowser1显示页面。

所以我的问题是:为什么外部IE会打开,我该如何阻止它。

干杯es

为什么外部IE是从.NET Web浏览器打开的

不要打开新页面,而是尝试创建自定义的onClick事件

private bool bCancel = false;
private void webBrowser_DocumentCompleted(object sender,
                                 WebBrowserDocumentCompletedEventArgs e)
{
  int i;
  for (i = 0; i < webBrowser.Document.Links.Count; i++)
  {
     webBrowser.Document.Links[i].Click += new    
                            HtmlElementEventHandler(this.LinkClick);
  }
}
private void LinkClick(object sender, System.EventArgs e)
{
  bCancel = true;
  MessageBox.Show("Link Was Clicked Navigation was Cancelled");
}
private void webBrowser_Navingating(object sender, 
                                WebBrowserNavigatingEventArgs e )
{
  if (bCancel == true)
  {
     e.Cancel=true;
     bCancel = false;
  }
}