如果曾經使用Java開發過Web應用程序,你一定會對Java applets比較熟悉,這是一種基本上在浏覽器中運行的小型程序。當浏覽器加載包含有Java applets標志的Html代碼時,Java applets就會執行,網頁中的Windows Forms控件的運行方式與Java applets相似。我們可以使用由Windows Forms技術提供的豐富的類開發Windows Forms控件,然後在網頁中部署這些控件,當浏覽器加載這些網頁時,就會執行包含在Windows Forms控件中的代碼。
.NET的偉大之處之一是它提供的與IE的無縫集成能力。例如,我們甚至能夠在用戶不知道的情況下從IE中激活一個Windows Forms控件。盡管利用了由.Net CLR提供的Code Access Security的所有功能,但這是在無需進行注冊的情況下完成的。
當開發Windows Forms控件時,我們就通過繼承的方式擁有了Windows Forms類所提供的所有功能。例如,我們可以使用Windows Forms控件驗證技術對用戶輸入的數據進行廣泛的驗證,同樣地,我們可以從窗體控件中調用遠程Web服務。通過使用所有這些技術,我們就能夠使用.Net平台開發豐富、功能強大的應用程序。
實現
在這一部分,我們將學習如何創建簡單的Windows Forms控件並將它托管在IE中。下面是激活IE中Windows Forms控件的5個步驟:
·創建Windows Forms控件。
·創建包含標識Windows Forms控件的對象標志的Html文檔。
·配置正確激活控件所需要的虛擬目錄。
·配置代碼訪問權限。
·運行該控件。
下面我們就來詳細地學習上面的每一個步驟。
創建Windows Forms控件
在這一步驟中,我們將創建一個簡單的Windows Forms控件,它向用戶顯示“Hello World”信息。如政略所示,我們將首先創建一個名為HelloWorldControl的新Visual C# Windows Control Library項目。
一旦創建項目後,我們將把缺省的用戶控件更名為HelloWorldCtl。我們將在用戶控件上添加一個名為lblMessage的標簽控件和一個名為btnClick的按鈕。當用戶點擊點擊按鈕時,程序就會執行下面的代碼,向用戶顯示一個簡單的信息:
private void btnClick_Click(object sender, System.EventArgs e)
{
lblDisplayMessage.Text = "Hello World";
}
既然已經創建了控件,下面我們來編譯該項目,並創建可執行代碼。