溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VB.NET窗體實現(xiàn)背景花紋的方法

發(fā)布時間:2021-06-16 17:32:43 來源:億速云 閱讀:307 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“VB.NET窗體實現(xiàn)背景花紋的方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

我們每個都希望程序給我們打來強(qiáng)大的功能,結(jié)合我的一些經(jīng)驗和大家分析探討一下。我們在開發(fā)軟件過程中,為提高軟件的商品化程度,感覺到界面的美觀程度是一個軟件能否獲得成功的一個重要因素,我們仔細(xì)研究了一些成功的商品化軟件,從這些軟件上可以看到,程序窗口背景能顯示出非常美麗的、富有立體感的花紋。而采用VVB.NET窗體設(shè)計,若只按照系統(tǒng)提供的功能,只能從有限的幾種顏色中選擇一種顏色或采用程序繪制一些簡單的線條。而想實現(xiàn)立體感很強(qiáng)的紋理圖案,一般只能采用窗體的PICTURE屬性調(diào)用位圖文件,使用這種方法實現(xiàn)有許多缺點(diǎn) ,其一是窗體大小受位圖大小的限制,調(diào)整起來麻煩,不具有通用性和靈活性;其二是浪費(fèi)資源,因為花紋圖案基本上是重復(fù)圖案,采用與窗體同樣大小的位圖是一種浪費(fèi)。

下面介紹一種VB.NET窗體背景花紋實現(xiàn)的方法。在窗體上建立一個網(wǎng)格控件,設(shè)定網(wǎng)格行不可見,去掉固定行和固定列,用程序?qū)崿F(xiàn)網(wǎng)格控件與VB.NET窗體同樣大小,并隨窗體大小的改變而改變。然后設(shè)計一個花紋圖案,形成BMP位圖文件(本文程序使用文件Pict1.bmp),或者從其它圖象中截取一段圖案,也可以利用Windows系統(tǒng)提供的圖案(如c:\windows\Tiles.bmp),將其調(diào)入Picture控件。設(shè)定網(wǎng)格的每個單元與該圖案大小相同,使單元的數(shù)量正好覆蓋整個窗體背景,再將所有單元均顯示該圖案。通過子程序Backpict()實現(xiàn)以上過程,不論圖案大小、窗體大小,程序都能自動調(diào)整網(wǎng)格控件大小和網(wǎng)格單元大小及單元數(shù)量。

該程序在Visual Basic 5.0上調(diào)試成功。

1.新建窗體Form1,屬性如下:

Caption =“背景花紋的實現(xiàn)”  Borderstyle=3(無***、最小化按鈕)

2.建網(wǎng)格控件Grid1,它的位置和大小將在程序中設(shè)置(與Form1同樣大),屬性為:

Enabled = False(焦點(diǎn)不會落在網(wǎng)格控件Grid1上)  Fillstyle=1(改變所有單元Text特性)  Fixedcols=0(無固定行)  Fixedrows=0(無固定列)  Gridlines = False(網(wǎng)格行不可見),  Visible = True

3.建立圖象控件Picture1,程序運(yùn)行時將背景花紋基本圖案放入其中,屬性為

Visible = False(不可見)  Autosize = True(自動調(diào)整大?。?/pre>

4.控件中加入Sheridan 3D Controls,選取其中的三維命令按鈕SSCommand,建立兩個按鈕

SSCommand1.Caption=“退出”  SSCommand2.Caption=“更換背景”(演示不同的背景圖案)

它們的屬性Picture可調(diào)用與背景相同或不同的圖案,如果使用普通的命令按鈕控件Command也可,只是命令按鈕無背景圖案。

5.建立背景圖案形成子程序:

Dim pictfile As String '位圖文件名  Dim FILEPATH As String '文件路徑  Sub Backpict(pictfile)  picture1.ScaleMode = 3 Form1.ScaleMode = 3 picture1.Picture = LoadPicture(pictfile)  '網(wǎng)格控件覆蓋整個窗體背景  grid1.Top = -1  grid1.Left = -1  grid1.Width = Width  grid1.Height = Height  grid1.Cols=Int(Form1.ScaleWidth/picture1.ScaleWidth) + 1  grid1.Rows=Int(Form1.ScaleHeight/picture1.ScaleHeight) + 1  '所有單元大小等于基本圖案大小  For i = 0 To grid1.Cols - 1  For j = 0 To grid1.Rows - 1  grid1.ColWidth(i) = picture1.ScaleWidth * 15  grid1.RowHeight(j) = picture1.ScaleHeight * 15  Next j  Next I  '選定所有單元  grid1.SelStartCol = 0 grid1.SelStartRow = 0 grid1grid1.SelEndCol = grid1.Cols - 1  grid1grid1.SelEndRow = grid1.Rows - 1  grid1.Picture = Picture1.Picture  End Sub

6.窗體主程序

Private Sub Form_Load()  Private Sub Form_Load()  '得到運(yùn)行程序路徑名,路徑名后帶反斜杠  If Right(App.Path, 1) <> "\" Then  filePath = App.Path & "\"  Else  filePath = App.Path  End If  '窗體初始顯示由Tiles.bmp基本圖案組成的背景  pictfile = "c:\windows\Tiles.bmp" backpict (pictfile)  End Sub

7.退出程序命令按鈕

Private Sub SSCommand1_Click()  End  End Sub

8.演示不同的底紋圖案

Private Sub SSCommand2_Click()  '兩種背景圖案交替演示  If pictfile = filePath & "Pict1.bmp" Then  pictfile = "c:\windows\Tiles.bmp" Else  pictfile = filePath & "Pict1.bmp"  End If  Backpict (pictfile)  End Sub

“VB.NET窗體實現(xiàn)背景花紋的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI