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