講述VB.NET制作透明窗體
VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET制作透明窗體,包括介紹輕松編寫托盤程序托盤程序作為一類特殊的窗體等方面。
窗體是Windows應(yīng)用程序的基礎(chǔ)。新一代的開發(fā)工具Visual Basic.Net為設(shè)計制作窗體提供了更多簡單而豐富的方法,無需再求助于復(fù)雜而易錯的API函數(shù),我們就可以輕松制作多種特效窗體。
1、VB.NET制作透明窗體,VB.NET可以輕松制作出任一透明度的窗體:我們只要在窗體的“屬性”窗口中,將 Opacity 屬性設(shè)置為一個介于 0.0(完全透明)與 1.0(完全不透明)之間的值就可以了:
- Dim frm As FrmTrans = New FrmTrans()
- frm.Opacity = 0.5
- frm.ShowDialog()
2、輕松制作始終位于最上層的窗體在VB6中,要制作一個始終位于最上層的窗體我們只能求助于令人頭痛的API函數(shù)。然而在 .NET 中,我們只要簡單設(shè)置窗體的 TopMost 屬性就可實(shí)現(xiàn)同樣效果了!例如:
- Dim frm As frmTopMost = New frmTopMost()
- frm.TopMost = True
- frm.Show()
3、VB.NET制作透明窗體,如果要編寫一個不讓別人發(fā)現(xiàn)的隱藏程序,制作透明窗體就是必須實(shí)現(xiàn)的***步。窗體的可見性通常由 Visible 屬性控制。但是,如果希望 Windows 應(yīng)用程序的主窗體在應(yīng)用程序啟動時透明窗體,您將會發(fā)現(xiàn)將它的 Visible 屬性設(shè)置為 False 的方法無效,窗體總會自己顯示出來(這是因為,啟動窗體的生存期決定了應(yīng)用程序的生存期)。雖然如此,我們還是可以通過簡單將應(yīng)用程序的啟動設(shè)置為一個模塊,從而從窗體的生存期分出應(yīng)用程序的生存期,VB.NET制作透明窗體。在下面這個例子中,窗體在特定的時間內(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點(diǎn),窗體自動隱藏
- Application.DoEvents()
- End While
- f1.ShowDialog()
- End Sub
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運(yùn)行!
【編輯推薦】