熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

用VB.NET設計各種形狀的窗體界面一

2013-11-13 10:32:20  來源: .NET編程 

  窗體是程序設計最常見最普通也是最容易受到程序員忽視的編程對象一般來說在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來解決這個問題到了WindowsMDI在應用程序中得到了更大范圍的應用其中Windows 中的程序管理器和文件管理器都采用了MDI目前MDI在應用程序中依然被廣泛采用下面就首先來介紹一下Visual Basic Net創建不規則窗體的相關知識和具體實現方法
  
  一.簡介Visual Basic Net中定制不規則窗體時使用的類庫
  Visual Basic Net中定制不規則窗體主要使用到Region類和GraphicsPath類其中以GraphicsPath類最為重要GraphicsPath類和Region類分別位於Net FrameWork SDK中的SystemDrawingDrawingD命名空間和SystemDrawing命名空間在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應用程序】
  
   在【名稱】文本框中輸入【VBNET中定制不規則窗體】
  
   在【位置】的文本框中輸入【E:\VSNET項目】然後單擊【確定】按鈕這樣在E:\VSNET項目目錄中就產生了名稱為VBNET中定制不規則窗體的文件夾並在裡面創建了名稱為VBNET中定制不規則窗體的項目文件具體如圖所示
  
 

  
【VBNET中定制不規則窗體】新建項目對話框

   把Visual Studio Net的當前窗口切換到【Formvb(設計)】窗口並從【工具箱】中的【Windows窗體組件】選項卡中往Form窗體中拖入下列組件並執行相應的操作
  
  五個Button組件用以定制五種不同形狀窗體並在這個Button組件拖入Form的設計窗體後雙擊它們則系統會在Formvb文件分別產生這五個組件的Click事件對應的處理代碼
  
   在上述組件拖入窗體後分別按照圖所示排列並設置窗體中的各組件
  
 

  
【VBNET中定制不規則窗體】項目的設計界面

   把Visual Basic Net當前窗口切換到Formvb的代碼編輯窗口並用下列代碼替換Formvb中的Button的Click事件對應的處理代碼下列代碼功能是改變當前窗體形狀為橢圓形
  
  Private Sub Button_Click ( ByVal sender As SystemObject ByVal e As SystemEventArgs ) Handles ButtonClick
  Dim p As SystemDrawingDrawingDGraphicsPath = New SystemDrawingDrawingDGraphicsPath ( )
  Dim Width As Integer = MeClientSizeWidth
  Dim Height As Integer = MeClientSizeHeight
  pAddEllipse ( Width Height )
  根據要繪制橢圓的形狀來填寫AddEllipse方法中橢圓對應的相應參數
  Region = New Region ( p )
  End Sub
  
   用下列代碼替換Formvb中的Button的Click事件對應的處理代碼下列代碼功能是改變當前窗體形狀為扇形
  
  Private Sub Button_Click ( ByVal sender As SystemObject ByVal e As SystemEventArgs ) Handles ButtonClick
  Dim p As SystemDrawingDrawingDGraphicsPath = New SystemDrawingDrawingDGraphicsPath ( )
  pAddPie ( )
  根據要實現的扇形形狀來填寫AddPie方法中的相應參數
  MeRegion = New Region ( p )
  End Sub
  
   用下列代碼替換Formvb中的Button的Click事件對應的處理代碼下列代碼功能是改變當前窗體形狀為圓形
  
  Private Sub Button_Click ( ByVal sender As SystemObject ByVal e As SystemEventArgs ) Handles ButtonClick
  Dim p As SystemDrawingDrawingDGraphicsPath = New  SystemDrawingDrawingDGraphicsPath ( )
  Dim Width As Integer = MeClientSizeWidth
  Dim Height As Integer = MeClientSizeHeight
  pAddEllipse ( Height Height )
  MeRegion = New Region ( p )
  圓形即是橢圓的一種特例
  End Sub
   用下列代碼替換Formvb中的Button的Click事件對應的處理代碼下列代碼功能是改變當前窗體形狀為環形
  
  Private Sub Button_Click ( ByVal sender As SystemObject ByVal e As SystemEventArgs ) Handles ButtonClick
  Dim p As SystemDrawingDrawingDGraphicsPath = New SystemDrawingDrawingDGraphicsPath ( )
  Dim Height As Integer = MeClientSizeHeight
  Dim width As Integer =
  pAddEllipse ( Height Height )
  pAddEllipse ( width width Height ( width * ) Height ( width * ) )
  根據環形的形狀來分別填寫AddEllipse方法中相應的參數
  MeRegion = New Region ( p )
  End Sub
  
   用下列代碼替換Formvb中的Button的Click事件對應的處理代碼下列代碼功能是改變當前窗體形狀為三角形
  
  Private Sub Button_Click ( ByVal sender As SystemObject ByVal e As SystemEventArgs ) Handles ButtonClick
  Dim p As SystemDrawingDrawingDGraphicsPath = New SystemDrawingDrawingDGraphicsPath ( )
  pAddLine ( )
  pAddLine ( )
  pAddLine ( )
  根據三角形的形狀特征來分別填寫AddLine方法中相應的參數
  MeRegion = New Region ( p )
  End Sub
  
   至此在上述步驟都正確完成後【VBNET中定制不規則窗體】項目的全部工作就基本完成了此時單擊快捷鍵F運行程序單擊【VBNET中定制不規則窗體】中的【橢圓形】按鈕則會得到圖所示的運行界面
  
 

  
【VBNET中定制不規則窗體】項目運行界面之一

  單擊【VBNET中定制不規則窗體】中的【扇形】按鈕則會得到圖所示的運行界面
  
 

  
【VBNET中定制不規則窗體】項目運行界面之二

  單擊【VBNET中定制不規則窗體】中的【圓形】按鈕則會得到圖所示的運行界面
  
 

  
【VBNET中定制不規則窗體】項目運行界面之三

  單擊【VBNET中定制不規則窗體】中的【環形】按鈕則會得到圖所示的運行界面
  
  From:http://tw.wingwit.com/Article/program/net/201311/13943.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.