代码就是网上的 不知道怎么总是没有效果://新建标签页的 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 会不会有什么影响?
{
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 会不会有什么影响?
取消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");
}
webBrowser1.AllowNavigation = false;
按照你们的说法 我在浏览器上点击连接没有反应了 是我的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);
}帮我再看看吧