C#瀏覽器開發(fā)前期準(zhǔn)備淺析
C#瀏覽器的打造的基本情況介紹之前我們先簡(jiǎn)單的來了解下什么是瀏覽器以及瀏覽器的一些常見的功能,C#瀏覽器的打造正是實(shí)現(xiàn)了這些常見的功能,并且更加好的體現(xiàn)出來。
C#瀏覽器的打造一、簡(jiǎn)介
大家都知道,目前比較流行的網(wǎng)絡(luò)瀏覽器如Mozilla FireFox以及MyIE2等都具有多頁面瀏覽功能,每打開一個(gè)新的頁面都自動(dòng)產(chǎn)生一個(gè)新的選項(xiàng)卡頁面,頁面的關(guān)閉也十分簡(jiǎn)便。
這種設(shè)計(jì)思想使得用戶在瀏覽多個(gè)網(wǎng)頁時(shí)桌面十分簡(jiǎn)潔,也避免了用戶等待單頁面顯示的苦惱。由于這些瀏覽器一般都支持操作多種文件格式,所以當(dāng)瀏覽本地機(jī)器上的多個(gè)文件時(shí)也極為方便。
C#瀏覽器的打造二、關(guān)鍵技術(shù)分析
解決問題的關(guān)鍵在于對(duì)瀏覽器控件WebBrowser的NewWindow2事件的編程。當(dāng)需要顯示某種文件而生成一個(gè)新窗口時(shí),NewWindow2 事件即被激活。
注意,該事件發(fā)生在WebBrowser控件的新窗口產(chǎn)生之前。例如,作為對(duì)導(dǎo)航到一個(gè)新窗口或者一個(gè)腳本控制的window.open方法的響應(yīng),即發(fā)生該事件。為了聲明當(dāng)一個(gè)新窗口被打開時(shí),將使用我們自己的瀏覽器程序,應(yīng)該把參數(shù)ppDisp置為Application 對(duì)象。此時(shí),如果你選擇“在新窗口中打開”,則新產(chǎn)生一個(gè)窗口來顯示W(wǎng)eb頁面。
你也可以把RegisterAsBrowser設(shè)置為TRUE,這將導(dǎo)致新生成的WebBrowser控件參與到窗口命名的沖突問題上。例如,如果一個(gè)窗口的名字在腳本的另外一處用到,那么該控件被派上用場(chǎng),而不是再產(chǎn)生一個(gè)新的窗口,因?yàn)榭丶诖蜷_一個(gè)新的窗口之前先檢查一下所有已存在的窗口名稱以避免命名沖突。
作為對(duì)該事件的響應(yīng),我們動(dòng)態(tài)地創(chuàng)建一個(gè)tab頁面,并通過調(diào)用CreateNewWebBrowser()方法產(chǎn)生一個(gè)WebBrowser控件作為其子控件――這里每一個(gè)子控件都有一個(gè)包含該控件相關(guān)信息的tag屬性。
C#瀏覽器的打造前期的需要掌握的知識(shí)了解就向你介紹到這里,希望對(duì)你了解和啟發(fā)C#瀏覽器的打造有所幫助。
【編輯推薦】