麻煩大神幫忙備注下注釋哈,網上找的代碼不懂看
拜托!!!
TabPage AddTab()
{
TabPage page = null;
// 從後向前找連續空白頁面的最左邊那個空白頁
for (int i=tab.TabPages.Count-2; i>=0; i--)
{
TabPage p = tab.TabPages[i];
if (p.Text == BLANK_URL && string.IsNullOrEmpty((p.Tag as BrowserData).Address) == false)
{
page = p;
}
else
{
break;
}
}
if (page == null)
{
page = new TabPage();
page.ImageIndex = 1;
AxWebBrowser webBrowser = new AxWebBrowser();
webBrowser.Dock = DockStyle.Fill;
webBrowser.PrivacyImpactedStateChange += new AxSHDocVw.DWebBrowserEvents2_PrivacyImpactedStateChangeEventHandler(webBrowser_PrivacyImpactedStateChange);
webBrowser.ProgressChange += new AxSHDocVw.DWebBrowserEvents2_ProgressChangeEventHandler(webBrowser_ProgressChange);
webBrowser.SetSecureLockIcon += new AxSHDocVw.DWebBrowserEvents2_SetSecureLockIconEventHandler(webBrowser_SetSecureLockIcon);
webBrowser.WindowClosing += new AxSHDocVw.DWebBrowserEvents2_WindowClosingEventHandler(webBrowser_WindowClosing);
webBrowser.StatusTextChange += new AxSHDocVw.DWebBrowserEvents2_StatusTextChangeEventHandler(this.webBrowser_StatusTextChange);
webBrowser.DownloadComplete += new System.EventHandler(this.webBrowser_DownloadComplete);
webBrowser.CommandStateChange += new AxSHDocVw.DWebBrowserEvents2_CommandStateChangeEventHandler(this.webBrowser_CommandStateChange);
webBrowser.TitleChange += new AxSHDocVw.DWebBrowserEvents2_TitleChangeEventHandler(this.webBrowser_TitleChange);
webBrowser.DocumentComplete += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEventHandler(this.webBrowser_DocumentComplete);
webBrowser.DownloadBegin += new EventHandler(webBrowser_DownloadBegin);
webBrowser.BeforeNavigate2 += new AxSHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);
try
{
webBrowser.NewWindow3 += new AxSHDocVw.DWebBrowserEvents2_NewWindow3EventHandler(this.webBrowser_NewWindow3);
}
catch
{
}
page.Tag = new BrowserData(webBrowser, false, false);
page.Controls.Add(webBrowser);
if (tab.TabPages.Count < 1)
{
tab.TabPages.Add(page);
tab.TabPages.Add(new TabPage());//加一個空白頁
}
else
{
tab.TabPages.Insert(tab.TabPages.Count - 1, page);
}
}
tab.SelectedTab = page;
return page;
}
可以教你一些規律性的東西,比如
PrivacyImpactedStateChange
這種每個單詞首字母大寫的命名方法叫做駝峰命名法,要理解這個是什麼含義,非常簡單,就是把它拆分成單詞,每個單詞找英文詞典(如果你英語太差)查什麼意思。
連起來就是它的意思。比如這個,就是“隱私影響狀態的改變”,這是一個事件,顯然就在這個情況下觸發。