代码就是网上的  不知道怎么总是没有效果://新建标签页的        public void newPage()
        {
            tscbUrl.Text = "about:blank";
            TabPage mypage = new TabPage("about:blank");
            WebBrowser tempBrowser = new WebBrowser();
            //tempBrowser.Navigated += new WebBrowserNavigatedEventHandler(tempBrowser_Navigated);
            tempBrowser.NewWindow += new CancelEventHandler(tempBrowser_NewWindow);
            tempBrowser.ProgressChanged += new WebBrowserProgressChangedEventHandler(tempBrowser_ProgressChanged);
            tempBrowser.StatusTextChanged += new EventHandler(tempBrowser_StatusTextChanged);
            tempBrowser.Dock = DockStyle.Fill;
            mypage.Controls.Add(tempBrowser);            tabControl1.TabPages.Add(mypage);
            tabControl1.SelectedTab = mypage;        }//NewWindow        //不要让IE打开链接
        void tempBrowser_NewWindow(object sender, CancelEventArgs e)
        {
            MessageBox.Show("newWindow");
            //使外部无法捕获此事件
            e.Cancel = true;            //获取触发tempBrowser_NewWindow事件的浏览器
            WebBrowser myBrowser = (WebBrowser)sender;
            myBrowser.Navigate(myBrowser.StatusText);
            //获取触发tempBrowser_NewWindow事件的浏览器所在TabPage
            TabPage mypage = (TabPage)myBrowser.Parent;
            //通过StatusText属性获得新的url
            string NewURL = ((WebBrowser)sender).StatusText;
            //生成新的一页
            TabPage TabPageTemp = new TabPage();
            //生成新的tempBrowser
            WebBrowser tempBrowser = new WebBrowser();
            //临时浏览器定向到新的url
            tempBrowser.Navigate(NewURL);
            tempBrowser.Dock = DockStyle.Fill;
            //为临时浏览器关联NewWindow等事件
            tempBrowser.NewWindow += new CancelEventHandler(tempBrowser_NewWindow);
            tempBrowser.Navigated += new WebBrowserNavigatedEventHandler(tempBrowser_Navigated);
            tempBrowser.ProgressChanged += new WebBrowserProgressChangedEventHandler(tempBrowser_ProgressChanged);
            //tempBrowser.StatusTextChanged += new EventHandler(tempBrowser_StatusTextChanged);
            //将临时浏览器添加到临时TabPage中
            TabPageTemp.Controls.Add(tempBrowser);
            //将临时TabPage添加到主窗体中
            this.tabControl1.TabPages.Add(TabPageTemp);        }我写错了吗?为什么没有效果啊,总是IE开启页面的,我的系统是Vista  会不会有什么影响?

解决方案 »

  1.   

    屏蔽链接 this.WebBrowser1.AllowNavigation = false;  
    取消WebBrowser控件的NewWindow操作:  
      this.WebBrowser1.NewWindow += new CancelEventHandler(WebBrowser1_NewWindow);  
      private void WebBrowser1_NewWindow(object sender, CancelEventArgs e)  
      {  
      string NewURL = ((WebBrowser)sender).StatusText;   
      string NewURL = sender.Document.ActiveElement.GetAttribute("href");
      this.URL = NewURL;
      e.Cancel = true;
      }  HtmlElementCollection coll = doc.GetElementsByTagName("A");
      for (int i = 0; i < coll_a.Count; i++)
      {
      colla[i].SetAttribute("target", "_self");
      }
      

  2.   

    //webBrowser是否可以再初次加载后导航到另个网页
    webBrowser1.AllowNavigation = false;
      

  3.   

    我有新问题了
    按照你们的说法 我在浏览器上点击连接没有反应了  是我的navigate有问题吗?        //获取在页面上点击的链接事件
            private void tempBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
            {
                tscbUrl.Text = getCurrentBrowser().Url.ToString();
                WebBrowser mybrowser = (WebBrowser)sender;
                TabPage mypage = (TabPage)mybrowser.Parent;
                //设置临时浏览器所在tab标题
                mypage.Text = newstring(mybrowser.DocumentTitle);
            }帮我再看看吧
      

  4.   

    http://topic.csdn.net/u/20080716/15/d1a250a3-cb3a-4cbb-95a9-e20cd11fcffb.html