您好,登錄后才能下訂單哦!
本篇內容介紹了“VB.NET窗體實現背景花紋的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
我們每個都希望程序給我們打來強大的功能,結合我的一些經驗和大家分析探討一下。我們在開發軟件過程中,為提高軟件的商品化程度,感覺到界面的美觀程度是一個軟件能否獲得成功的一個重要因素,我們仔細研究了一些成功的商品化軟件,從這些軟件上可以看到,程序窗口背景能顯示出非常美麗的、富有立體感的花紋。而采用VVB.NET窗體設計,若只按照系統提供的功能,只能從有限的幾種顏色中選擇一種顏色或采用程序繪制一些簡單的線條。而想實現立體感很強的紋理圖案,一般只能采用窗體的PICTURE屬性調用位圖文件,使用這種方法實現有許多缺點 ,其一是窗體大小受位圖大小的限制,調整起來麻煩,不具有通用性和靈活性;其二是浪費資源,因為花紋圖案基本上是重復圖案,采用與窗體同樣大小的位圖是一種浪費。
下面介紹一種VB.NET窗體背景花紋實現的方法。在窗體上建立一個網格控件,設定網格行不可見,去掉固定行和固定列,用程序實現網格控件與VB.NET窗體同樣大小,并隨窗體大小的改變而改變。然后設計一個花紋圖案,形成BMP位圖文件(本文程序使用文件Pict1.bmp),或者從其它圖象中截取一段圖案,也可以利用Windows系統提供的圖案(如c:\windows\Tiles.bmp),將其調入Picture控件。設定網格的每個單元與該圖案大小相同,使單元的數量正好覆蓋整個窗體背景,再將所有單元均顯示該圖案。通過子程序Backpict()實現以上過程,不論圖案大小、窗體大小,程序都能自動調整網格控件大小和網格單元大小及單元數量。
該程序在Visual Basic 5.0上調試成功。
1.新建窗體Form1,屬性如下:
Caption =“背景花紋的實現” Borderstyle=3(無***、最小化按鈕)
2.建網格控件Grid1,它的位置和大小將在程序中設置(與Form1同樣大),屬性為:
Enabled = False(焦點不會落在網格控件Grid1上) Fillstyle=1(改變所有單元Text特性) Fixedcols=0(無固定行) Fixedrows=0(無固定列) Gridlines = False(網格行不可見), Visible = True
3.建立圖象控件Picture1,程序運行時將背景花紋基本圖案放入其中,屬性為
Visible = False(不可見) Autosize = True(自動調整大小)
4.控件中加入Sheridan 3D Controls,選取其中的三維命令按鈕SSCommand,建立兩個按鈕
SSCommand1.Caption=“退出” SSCommand2.Caption=“更換背景”(演示不同的背景圖案)
它們的屬性Picture可調用與背景相同或不同的圖案,如果使用普通的命令按鈕控件Command也可,只是命令按鈕無背景圖案。
5.建立背景圖案形成子程序:
Dim pictfile As String '位圖文件名 Dim FILEPATH As String '文件路徑 Sub Backpict(pictfile) picture1.ScaleMode = 3 Form1.ScaleMode = 3 picture1.Picture = LoadPicture(pictfile) '網格控件覆蓋整個窗體背景 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() '得到運行程序路徑名,路徑名后帶反斜杠 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窗體實現背景花紋的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。