本篇文章是由《計算機工程與設計》發(fā)表的一篇電子論文,(月刊)創(chuàng)刊于1980年,由中國航天科工集團第二研究院706所主辦,是中國計算機學會會刊、北京計算機學會會刊和中國宇航學會會刊,是全國中文核心期刊、中國科技核心期刊。該刊是《中國科技引文數(shù)據(jù)庫》、《中國學術期刊綜合評價數(shù)據(jù)庫》、《中文科技期刊數(shù)據(jù)庫》來源期刊,是中國學術期刊文摘(中文版)、電子科技文獻數(shù)據(jù)庫、中文科技期刊數(shù)據(jù)庫收錄期刊,是中國科技論文統(tǒng)計與分析用刊,在“萬方數(shù)據(jù)-數(shù)字化期刊群”全文上網(wǎng),并由《中國學術期刊(光盤版)》和《中國期刊網(wǎng)》全文收錄。
[摘 要] 針對B/S開發(fā)模式的流行和需求,利用C#開發(fā)窗體時,WebBowser控件的利用無疑是個不錯的選擇,WebBowser控件可以兼容目前大多數(shù)網(wǎng)絡資源的呈現(xiàn)和訪問,作為VS.net開發(fā)工具自身的控件,使用人員可以方便的應用。因此如何在窗體和WebBowser控件之間,進行數(shù)據(jù)傳遞,是很多開發(fā)人員必須面對的一個問題,本文從一個實例入手來分析建立數(shù)據(jù)傳遞的整個過程。
[關鍵詞] 窗體 WebBowser 事件
信息技術的不斷深入發(fā)展,推動了網(wǎng)絡技術的更新,各種新型的網(wǎng)絡應用呈現(xiàn)繁榮的狀態(tài),人們開始更習慣利用網(wǎng)絡瀏覽器來完成各種工作,VS dot net開發(fā)工具中自帶了WebBowser控件,主要用于Windows環(huán)境下的網(wǎng)頁瀏覽用;用于窗體開發(fā),可以利用網(wǎng)頁炫麗的圖片、文字、動畫以及JavaScript、Asp語言呈現(xiàn)的種種特效來美化窗體,這也是一些高端用戶經(jīng)常要求;甚至利用這個控件可以開發(fā)其核心基于Internet Explorer(IE)的專業(yè)網(wǎng)絡瀏覽器。由于利用Linux其它操作系統(tǒng)的用戶畢竟是少數(shù),因此開發(fā)基于Windows窗體環(huán)境的C/S、B/S應用架構滿足目前很多用戶提出的需求:可以定制所需要的網(wǎng)絡資源、數(shù)據(jù)對內(nèi)透明、定制IE所需功能防止用戶其它操作等。所有開發(fā)的前提就是WebBrowser控件如何同Windows 窗體進行數(shù)據(jù)傳遞,需要那些事件來響應這些操作,下面,通過一個實例來研究數(shù)據(jù)傳值和事件響應的問題。
一、HTML語法研究
Hypertext Markup Language(HTML)是超文本標記語言,其目的在于運用標記(tag)使文件達到預期的顯示效果,目前已經(jīng)發(fā)展到HTML 4.01版。隨后發(fā)展了XHTML語言,它比HTML的語法更加嚴格。
WebBrowser可以加載的*.htm、*.html和*.xhtml文件。這些網(wǎng)頁文件中的各元素都有自己獨有的標記方式。比如:
圖形標記:用以插入圖庫及設定圖形屬性。
連結標記:加入連結。
框架設定:用于設定網(wǎng)頁框架。
通過tag標記可以對網(wǎng)頁中各元素進行判斷,這就為網(wǎng)頁同窗體間的通信提供了一個非常好的通道。
二、WebBrowser控件[1]
WebBrowser是一個在.NET Framework 2.0版中新增的.的控件類。使用WebBrowser控件類使用戶可以在Windows窗體應用程序中導航網(wǎng)頁以及支持瀏覽器的其它文檔。例如可以使用WebBrowser控件在應用程序中提供基于HTML的集成用戶幫助或Web瀏覽功能。此外,還可以使用 WebBrowser控件向Windows窗體客戶端應用程序添加Web的現(xiàn)有控件。
WebBrowser控件在使用中由于加載頁面的內(nèi)容量很大,會占用較大的系統(tǒng)資源,使用完該控件后一定要調(diào)用Dispose方法,以便確保及時釋放資源。而且必須在附加事件的同一線程上調(diào)用Dispose方法,該線程應始終是消息或用戶界面(UI)線程。
三、WebBrowser控件和窗體通信實例
下面,就通過一個實例來展示W(wǎng)ebBrowser控件如何向窗體傳遞參數(shù)。
開發(fā)環(huán)境是Windows XP SP2,.NET Framework 3.5,Visual Studio.NET 2008。
1、打開Visual Studio.NET 2008,選擇使用C#語言開發(fā),新建一個工程Webbrowserandform。
打開工具箱,選擇WebBrowser控件、contextMenuStrip控件放置到窗體。
在窗體的命名空間處添加:
using System.Threading;
“保存圖片”屬性Name:saveAsImageToolStripMenuItem;
“設置成桌面”屬性Name:setAsDesktopWallpaperToolStripMenuItem;
“打開”屬性Name:openToolStripMenuItem;
“刷新”屬性Name:refreshToolStripMenuItem。
2、在窗體Load事件中添加如下代碼
webBrowser1.Navigate("");
webBrowser1.ContextMenuStrip=contextMenuStrip1;
webBrowser1.IsWebBrowserContextMenuEnabled=false;
3、自定義鼠標右擊函數(shù)contextMenuStrip1_Opening()
private void contextMenuStrip1_Opening(object sender,CancelEventArgs e)
{
Point ScreenCoord=new Point(MousePosition.X, MousePosition.Y);
Point BrowserCoord=webBrowser1.PointToClient(ScreenCoord);
HtmlElement elem=webBrowser1.Document.GetElementFromPoint(BrowserCoord);
for(int i=0; i {
contextMenuStrip1.Items[i].Visible=false;
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >