private void Form1_Load(object sender, EventArgs e) { initMainForm(); }
private void initMainForm()
{
TabPage mypage = new TabPage();
WebBrowser tempBrowser = new WebBrowser();
tempBrowser.Navigated += tempBrowser_Navigated;
tempBrowser.NewWindow += tempBrowser_NewWindow;
tempBrowser.StatusTextChanged += tempBrowser_StatusTextChanged;
tempBrowser.ProgressChanged += tempBrowser_ProgressChanged;
tempBrowser.Dock = DockStyle.Fill;
tempBrowser.GoHome(); // 與新建空白頁不同
mypage.Controls.Add(tempBrowser);
tabControl1.TabPages.Add(mypage);
}
啟動時導向首頁(雖未提供設定首頁功能)。
void tempBrowser_NewWindow(object sender, CancelEventArgs e)
{
WebBrowser myBrowser = (WebBrowser)sender;
TabPage mypage = (TabPage)myBrowser.Parent;
string NewURL = myBrowser.StatusText; // 取得新視窗 URL
TabPage TabPageTemp = new TabPage();
WebBrowser tempBrowser = new WebBrowser();
tempBrowser.Navigate(NewURL);
tempBrowser.Dock = DockStyle.Fill;
// 重新掛載事件
tempBrowser.NewWindow += tempBrowser_NewWindow;
tempBrowser.Navigated += tempBrowser_Navigated;
tempBrowser.ProgressChanged += tempBrowser_ProgressChanged;
tempBrowser.StatusTextChanged += tempBrowser_StatusTextChanged;
TabPageTemp.Controls.Add(tempBrowser);
this.tabControl1.TabPages.Add(TabPageTemp);
e.Cancel = true; // 阻止外部捕獲
}