輕松打造VB.NET特殊窗體
大家在學(xué)習(xí)VB.NET的過程中,應(yīng)該會了解到這是一款用途廣泛,用法簡單的編程語言??梢詭椭_發(fā)人員輕松實現(xiàn)特定功能需求。窗體是Windows應(yīng)用程序的基礎(chǔ)。新一代的開發(fā)工具Visual Basic.Net為設(shè)計制作窗體提供了更多簡單而豐富的方法,無需再求助于復(fù)雜而易錯的API函數(shù),我們就可以輕松制作多種特效窗體:#t#
VB.NET特殊窗體1 、輕松制作透明窗體
VB.NET可以輕松制作出任一透明度的窗體:我們只要在窗體的“屬性”窗口中,將 Opacity 屬性設(shè)置為一個介于 0.0(完全透明)與 1.0(完全不透明)之間的值就可以了:
- Dim frm As FrmTrans
= New FrmTrans() - frm.Opacity = 0.5
- frm.ShowDialog()
VB.NET特殊窗體2、輕松制作始終位于最上層的窗體
在VB6中,要制作一個始終位于最上層的窗體我們只能求助于令人頭痛的API函數(shù)。然而在 .NET 中,我們只要簡單設(shè)置窗體的 TopMost 屬性就可實現(xiàn)同樣效果了!例如:
- Dim frm As frmTopMost =
New frmTopMost()- frm.TopMost = True
- frm.Show()
VB.NET特殊窗體3、輕松制作不可見的窗體
如果要編寫一個不讓別人發(fā)現(xiàn)的隱藏程序,制作不可見的窗體就是必須實現(xiàn)的***步。窗體的可見性通常由 Visible 屬性控制。但是,如果希望 Windows 應(yīng)用程序的主窗體在應(yīng)用程序啟動時不可見,您將會發(fā)現(xiàn)將它的 Visible 屬性設(shè)置為 False 的方法無效,窗體總會自己顯示出來(這是因為,啟動窗體的生存期決定了應(yīng)用程序的生存期)。雖然如此,我們還是可以通過簡單將應(yīng)用程序的啟動設(shè)置為一個模塊,從而從窗體的生存期分出應(yīng)用程序的生存期,輕松實現(xiàn)不可見的窗體。在下面這個例子中,窗體在特定的時間內(nèi)自動隱藏:
(1)在 Visual Basic 中,右擊項目并選擇“添加模塊”以將模塊添加到 Windows 應(yīng)用程序。
(2)在已添加的模塊(或類)內(nèi),創(chuàng)建可作為項目啟動對象的 Main 函數(shù):
- Sub main()
- Dim f1 As New Form1()
- f1.Visible = False
- While Hour(Date.Now) < 15
- ‘如果當(dāng)前時間早于15點,
窗體自動隱藏- Application.DoEvents()
- End While
- f1.ShowDialog()
- End Sub
VB.NET特殊窗體4、輕松編寫托盤程序
托盤程序作為一類特殊的窗體,其快捷圖標(biāo)顯示在系統(tǒng)托盤中,窗體本身則隱藏不可見。在.NET之前版本的VB中編寫托盤程序是十分困難的,但是VB.NET提供的新的NotifyIcon組件卻使VB初學(xué)者也能輕松編寫一個這樣的程序:
新建“Windows應(yīng)用程序”,設(shè)置主窗體Opacity屬性為0,F(xiàn)ormBorderStyle屬性為None,ShowInTaskbar屬性為False,這樣窗體將在啟動后隱藏。在窗體上放置一個NotifyIcon組件NotifyIcon1,一個ContextMenu(彈出菜單)組件ContextMenu1,并根據(jù)需要為ContextMenu1添加菜單項。
設(shè)置NotifyIcon1的ICON屬性,這個圖標(biāo)就是應(yīng)用程序出現(xiàn)在系統(tǒng)托盤中的快捷圖標(biāo);設(shè)置NotifyIcon1的Text屬性為“VB.NET托盤程序”,這就是鼠標(biāo)移動到托盤圖標(biāo)時彈出的文字說明;設(shè)置NotifyIcon1的ContextMenu屬性為ContextMenu1,也就是右鍵單擊快捷圖標(biāo)時的彈出菜單為ContextMenu1。OK,按F5運行!
幾乎不用編寫代碼,一個托盤程序就這樣輕松實現(xiàn)了。