窗體是程序設計最常見
最普通
也是最容易受到程序員忽視的編程對象
一般來說
在Visual Basic
Net針對窗體的編程是不需要人為介入的
因為可視化編程工具Visual Studio
Net已經按照窗體的缺省狀態實現了
但是在最近遇到的應用程序中
我們發現越來越多的應用程序中使用到各種不同規則的窗體
這些不同規則的窗體給應用程序帶來異常的情趣和不同平常的效果的同時
也促使使用者思考這樣一個問題
如何創建這些窗體?在Visual Basic
Net中提供了一種簡單
直接創建不規則窗體的方法
本文的主要內容就是探討一下這些方法具體的實現過程
下面就來詳細介紹在Visual Basic
Net中實現五種不同規格窗體的方法
即
橢圓形
扇形
圓形
環形和三角形
掌握了這五種不同形狀窗體的實現方法後
我想對於其他規則的窗體就不應該有什麼問題了
Visual Basic
Net中創建
使用MDI窗體也是本文的重要內容之一
MDI是Multi Document Interface的簡稱
即
多文檔界面
MDI最早出現於Windows
中
最先使用到MDI的應用程序是Excel電子表格
為了方便使用者同時能夠操作多份電子表格
Excel就采用了MDI來解決這個問題
到了Windows
中
MDI在應用程序中得到了更大范圍的應用
其中Windows
中的程序管理器和文件管理器都采用了MDI
目前MDI在應用程序中依然被廣泛采用
下面就首先來介紹一下Visual Basic
Net創建不規則窗體的相關知識和具體實現方法
一.簡介Visual Basic Net中定制不規則窗體時使用的類庫 Visual Basic
Net中定制不規則窗體主要使用到Region類和GraphicsPath類
其中以GraphicsPath類最為重要
GraphicsPath類和Region類分別位於
Net FrameWork SDK中的
System
Drawing
Drawing
D
命名空間和
System
Drawing
命名空間
在Visual Basic
Net中具體實現各種不規則窗體的過程中
GraphicsPath主要作用是根據程序員的要求
通過GraphicsPath中提供的方法繪制不同規則的形狀
Region的主要作用是依靠GraphicsPath實例來初始化Region對象
從而形成不規則窗體
其具體的實現過程是
首先通過GraphicsPath類構造函數創建GraphicsPath實例
然後通過GraphicsPath中提供的方法按照程序員的要求繪制形狀
最後以GraphicsPath實例來初始化Region對象
完成不規則窗體
可見了解
掌握GraphicsPath類對於理解本文介紹的實現方法是非常必要的
表
和表
分別是GraphicsPath類的常用方法和常用屬性及其說明
在本文用Visual Basic
Net實現的橢圓形
扇形
圓形
環形和三角形等形狀窗體中就使用到GraphicsPath中的AddEllipse方法(繪制橢圓形)
AddPie方法(繪制扇形)
AddLine方法(繪制直線)等方法
GraphicsPath中提供了豐富的方法
這對實現更復雜的窗體形狀是非常有用的
但完全掌握這些方法的使用方法也需要花費大量的時間和精力
二.Visual Basic Net中定制不規則窗體的具體步驟 正如前文所說在Visual Basic
Net定制不同規則的窗體是比較容易的
再了解了上面內容後
下面就是在Visual Basic
Net實現橢圓形
扇形
圓形
環形和三角形等五種形狀窗體的具體實現步驟
啟動Visual Studio
Net
選擇菜單【文件】|【新建】|【項目】後
彈出【新建項目】對話框
將【項目類型】設置為【Visual Basic項目】
將【模板】設置為【Windows應用程序】
在【名稱】文本框中輸入【VB
NET中定制不規則窗體】
在【位置】的文本框中輸入【E:\VS
NET項目】
然後單擊【確定】按鈕
這樣在
E:\VS
NET項目
目錄中就產生了名稱為
VB
NET中定制不規則窗體
的文件夾
並在裡面創建了名稱為
VB
NET中定制不規則窗體
的項目文件
具體如圖
所示
圖【VBNET中定制不規則窗體】新建項目對話框 把Visual Studio
Net的當前窗口切換到【Form
vb(設計)】窗口
並從【工具箱】中的【Windows窗體組件】選項卡中往Form
窗體中拖入下列組件
並執行相應的操作
五個Button組件
用以定制五種不同形狀窗體
並在這個Button組件拖入Form
的設計窗體後
雙擊它們
則系統會在Form
vb文件分別產生這五個組件的Click事件對應的處理代碼
在上述組件拖入窗體後
分別按照圖
所示排列並設置窗體中的各組件
圖【VBNET中定制不規則窗體】項目的設計界面 把Visual Basic
Net當前窗口切換到Form
vb的代碼編輯窗口
並用下列代碼替換Form
vb中的Button
的Click事件對應的處理代碼
下列代碼功能是改變當前窗體形狀為橢圓形
Private Sub Button
_Click ( ByVal sender As System
Object
ByVal e As System
EventArgs ) Handles Button
Click
Dim p As System
Drawing
Drawing
D
GraphicsPath = New System
Drawing
Drawing
D
GraphicsPath ( )
Dim Width As Integer = Me
ClientSize
Width
Dim Height As Integer = Me
ClientSize
Height
p
AddEllipse (
Width
Height
)
根據要繪制橢圓的形狀來填寫AddEllipse方法中橢圓對應的相應參數
Region = New Region ( p )
End Sub
用下列代碼替換Form
vb中的Button
的Click事件對應的處理代碼
下列代碼功能是改變當前窗體形狀為扇形
Private Sub Button
_Click ( ByVal sender As System
Object
ByVal e As System
EventArgs ) Handles Button
Click
Dim p As System
Drawing
Drawing
D
GraphicsPath = New System
Drawing
Drawing
D
GraphicsPath ( )
p
AddPie (
)
根據要實現的扇形形狀來填寫AddPie方法中的相應參數
Me
Region = New Region ( p )
End Sub
用下列代碼替換Form
vb中的Button
的Click事件對應的處理代碼
下列代碼功能是改變當前窗體形狀為圓形
Private Sub Button
_Click ( ByVal sender As System
Object
ByVal e As System
EventArgs ) Handles Button
Click
Dim p As System
Drawing
Drawing
D
GraphicsPath = New System
Drawing
Drawing
D
GraphicsPath ( )
Dim Width As Integer = Me
ClientSize
Width
Dim Height As Integer = Me
ClientSize
Height
p
AddEllipse (
Height
Height )
Me
Region = New Region ( p )
圓形即是橢圓的一種特例
End Sub
用下列代碼替換Form
vb中的Button
的Click事件對應的處理代碼
下列代碼功能是改變當前窗體形狀為環形
Private Sub Button
_Click ( ByVal sender As System
Object
ByVal e As System
EventArgs ) Handles Button
Click
Dim p As System
Drawing
Drawing
D
GraphicsPath = New System
Drawing
Drawing
D
GraphicsPath ( )
Dim Height As Integer = Me
ClientSize
Height
Dim width As Integer =
p
AddEllipse (
Height
Height )
p
AddEllipse ( width
width
Height
( width *
)
Height
( width *
) )
根據環形的形狀來分別填寫AddEllipse方法中相應的參數
Me
Region = New Region ( p )
End Sub
用下列代碼替換Form
vb中的Button
的Click事件對應的處理代碼
下列代碼功能是改變當前窗體形狀為三角形
Private Sub Button
_Click ( ByVal sender As System
Object
ByVal e As System
EventArgs ) Handles Button
Click
Dim p As System
Drawing
Drawing
D
GraphicsPath = New System
Drawing
Drawing
D
GraphicsPath ( )
p
AddLine (
)
p
AddLine (
)
p
AddLine (
)
根據三角形的形狀特征來分別填寫AddLine方法中相應的參數
Me
Region = New Region ( p )
End Sub
至此在上述步驟都正確完成後
【VB
NET中定制不規則窗體】項目的全部工作就基本完成了
此時單擊快捷鍵F
運行程序
單擊【VB
NET中定制不規則窗體】中的【橢圓形】按鈕
則會得到圖
所示的運行界面
圖【VBNET中定制不規則窗體】項目運行界面之一 單擊【VB
NET中定制不規則窗體】中的【扇形】按鈕
則會得到圖
所示的運行界面
圖【VBNET中定制不規則窗體】項目運行界面之二 單擊【VB
NET中定制不規則窗體】中的【圓形】按鈕
則會得到圖
所示的運行界面
圖【VBNET中定制不規則窗體】項目運行界面之三 單擊【VB
NET中定制不規則窗體】中的【環形】按鈕
則會得到圖
所示的運行界面
From:http://tw.wingwit.com/Article/program/net/201311/13943.html