在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用VB.NET打造NameSpace

用VB.NET打造NameSpace

更新時間:2022-04-27 文章作者:未知 信息來源:網絡 閱讀次數:

王天 

自從微軟公司發布了.Net 框架過以后,作為.Net中的一個重要程序開發語言--VB.NET,就開始讓那些以前對VB有偏見的人大吃一驚。雖然說VB.NET是VB的一個后繼版本,但二者之間的差別是十分巨大的。以前版本的VB雖然號稱自己是一種OOP(面向對象)編程語言,但卻不是一個地地道道的OOP編程語言,最多只是半個面向對象的編程語言。實際上他是一種面向事件的編程語言。正是由于此種原因,所以以前的VB在功能上是相對較弱的。但自從微軟推出VB.NET以后,這種情況就大為改變,VB.NET已經是一種完全的面向對象的編程語言。在他之中支持面向對象的基本特征:繼承、多態和重載。這使得以前在VB中很難或根本實現不了的問題,在VB.NET中可以順利、簡便的實現。
微軟公司推出的.Net FrameWork SDK是專門為.Net程序開發語言提供的一個內容龐大的軟件開發包。其中基本元素就是名稱空間(NameSpace),名稱空間實質上是一個大的類庫(Class Library)。在其中定義了許多的類、對象、屬性和方法。.Net開發語言就是依靠些類、對象、屬性和方法來豐富自己的界面,實現軟件的強大功能。其實也可以這樣說,只有掌握了這些名稱空間,.Net 開發工具(這當中必定包括VB.NET)才能可以最大程度發揮自身強大功能。那我們是否可以依靠自己的開發工具來做一個自己的名稱空間?本文中就是介紹如何利用.Net開發工具中的一種--VB.NET,來打造一個屬于自己的名稱空間。介紹的順序是:
(1)用VB.NET創建一個WinForm應用程序。
(2)把這個WinForm程序轉變成一個名稱空間,此名稱空間中有一個定義好的類。這個類就是此WinForm,這是本文的關鍵所在。
(3).再用VB.NET創建一個WinForm程序,繼承上面名稱空間中的類,并構件自己的Form界面。此段落主要是測試我們剛建立的名稱空間。
下面就安裝上述步驟來一步一步的建立屬于自己的名稱空間。
一.程序設計和運行的環境
(1)微軟公司視窗2000專業版本
(2).Net FrameWork SDK Beta 2
二. 用VB.NET創建一個WinForm應用程序。
對于如何用VB.NET創建一個WinForm的應用程序,可以參考本站的一篇文章《用VB.NET做WinForm的應用程序》,在文章中有比較詳細的介紹。本文就利用一個已經建立好的VB.NET的WinForm程序做例子,下面是此WinForm應用程序的運行界面和源代碼:
(1).源代碼(app.vb):

Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel
Public Class Form2
Inherits Form

Public Sub New ( )
MyBase.New ( )
InitializeComponent ( )
End Sub


Private components As System.ComponentModel.Container
Protected cancel As Button
Private LastName As TextBox
Private FirstName As TextBox
Private Label2 As Label
Private Label1 As Label
Protected ok As Button

Dim Form2 As Form

Private Sub InitializeComponent ( )
Me.Label1 = New Label ( )
Me.FirstName = New TextBox ( )
Me.ok = New Button ( )
Me.Label2 = New Label ( )
Me.LastName = New TextBox ( )
Me.cancel = New Button ( )
Me.SuspendLayout ( )
注釋:
Me.Label1.Location = New Point ( 8 , 24 )
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 1
Me.Label1.Text = "姓名:"

Me.FirstName.Location = New Point ( 120 , 16 )
Me.FirstName.Name = "name"
Me.FirstName.Size = New Size ( 136 , 20 )
Me.FirstName.TabIndex = 3
Me.FirstName.Text = ""

Me.ok.Location = New Point ( 8 , 128 )
Me.ok.Name = "ok"
Me.ok.Size = New Size ( 112 , 32 )
Me.ok.TabIndex = 0
Me.ok.Text = "確定"

Me.Label2.Location = New Point ( 8, 48 )
Me.Label2.Name = "Label2"
Me.Label2.Size = New Size ( 88 , 16 )
Me.Label2.TabIndex = 2
Me.Label2.Text = "郵箱:"

Me.LastName.Location = New Point ( 120, 40 )
Me.LastName.Name = "mail"
Me.LastName.Size = New Size ( 136 , 20 )
Me.LastName.TabIndex = 4
Me.LastName.Text = ""

Me.cancel.Location = New Point ( 144 , 128 )
Me.cancel.Name = "cancel"
Me.cancel.Size = New Size ( 112 , 32 )
Me.cancel.TabIndex = 5
Me.cancel.Text = "取消"

Me.AutoScaleBaseSize = New Size ( 5 , 13 )
Me.ClientSize = New Size ( 272 , 181 )
Me.Controls.AddRange ( New Control ( ) { Me.cancel , Me.LastName , Me.FirstName , Me.Label2 , Me.Label1 , Me.ok } )
Me.Name = "Form2"
Me.Text = "主窗口"
Me.ResumeLayout ( False )

End Sub


End Class

Module Module1
Sub Main ( )
Application.Run ( new Form2 ( ) )
End sub
End Module


(2).編譯命令:
在經過了以下命令行編譯完成后:
vbc /t:winexe /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll app.vb
運行程序就可以得到以下界面:


圖01:WinForm運行生成的界面

三.把這個WinForm程序(app.vb)改變成一個名稱空間。
本段落是本文的重點,其實任何一個.Net經過一定的變化,一般都可以變成一個名稱空間,在這里就介紹這種轉變的過程。
在app.vb上進行以下二步修改:
(1).在導入名稱空間的下一行,加入NameSpace my,在以后生成的文件中,就會封裝了以my做為名字的名稱空間,具體如下: Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

NameSpace my
(2).將程序尾部的調用執行段落刪除,并加入代碼 End NameSpace,具體如下:
刪除:
Module Module1
Sub Main ( )
Application.Run ( new Form2 ( ) )
End sub
End Module
加入:
End NameSpace

(3).修改后的程序代碼(name.vb)如下:
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

(3).修改后的程序代碼(name.vb)如下:
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel
NameSpace my
Public Class Form2
Inherits Form
Public Sub New ( )
MyBase.New ( )
InitializeComponent ( )
End Sub

Private components As System.ComponentModel.Container
Protected cancel As Button
Private LastName As TextBox
Private FirstName As TextBox
Private Label2 As Label
Private Label1 As Label
Protected ok As Button
Dim Form2 As Form
Private Sub InitializeComponent ( )
Me.Label1 = New Label ( )
Me.FirstName = New TextBox ( )
Me.ok = New Button ( )
Me.Label2 = New Label ( )
Me.LastName = New TextBox ( )
Me.cancel = New Button ( )
Me.SuspendLayout ( )
注釋:
Me.Label1.Location = New Point ( 8 , 24 )
Me.Label1.Name = "Label1"
Me.Label1.TabIndex = 1
Me.Label1.Text = "姓名:"
Me.FirstName.Location = New Point ( 120 , 16 )
Me.FirstName.Name = "name"
Me.FirstName.Size = New Size ( 136 , 20 )
Me.FirstName.TabIndex = 3
Me.FirstName.Text = ""
Me.ok.Location = New Point ( 8 , 128 )
Me.ok.Name = "ok"
Me.ok.Size = New Size ( 112 , 32 )
Me.ok.TabIndex = 0
Me.ok.Text = "確定"
Me.Label2.Location = New Point ( 8, 48 )
Me.Label2.Name = "Label2"
Me.Label2.Size = New Size ( 88 , 16 )
Me.Label2.TabIndex = 2
Me.Label2.Text = "郵箱:"
Me.LastName.Location = New Point ( 120, 40 )
Me.LastName.Name = "mail"
Me.LastName.Size = New Size ( 136 , 20 )
Me.LastName.TabIndex = 4
Me.LastName.Text = ""
Me.cancel.Location = New Point ( 144 , 128 )
Me.cancel.Name = "cancel"
Me.cancel.Size = New Size ( 112 , 32 )
Me.cancel.TabIndex = 5
Me.cancel.Text = "取消"
Me.AutoScaleBaseSize = New Size ( 5 , 13 )
Me.ClientSize = New Size ( 272 , 181 )
Me.Controls.AddRange ( New Control ( ) { Me.cancel , Me.LastName , Me.FirstName , Me.Label2 , Me.Label1 , Me.ok } )
Me.Name = "Form2"
Me.Text = "主窗口"
Me.ResumeLayout ( False )
End Sub
End Class
End NameSpace

(4).編譯name.vb生成名稱空間,這也是比較重要的環節,在編譯中要把name.vb編譯成DLL文件,具體命令如下:
vbc /t:library /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll name.vb

此時就會生成一個name.dll的文件,此文件中就定義了我們的名稱空間--my。在my名稱空間中封裝了一個類--Form2。
四.測試我們的名稱空間--my。
和其他的名稱空間一樣,用測試他最好的辦法就是在程序中導入他,下面的程序就是通過繼承此名稱空間my中的一個Form2的類,來生成自己的WinForm程序。對于如何繼承此Form2類,具體語句如下:
Imports my
Public Class Form1
Inherits my.Form2

(1).下面的程序主要是繼承了my名稱空間中的一個Form2類,并且在上面又加入了一個標簽和一個文本框。程序源代碼(main.vb)如下:
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel
Imports my
Public Class Form1
Inherits my.Form2
Private Label3 As Label
Private ExternalCompany As TextBox
Public Sub New ( )
InitializeComponent ( )

End Sub
Private Sub InitializeComponent ( )
Label3 = New Label ( )
ExternalCompany = New TextBox ( )

Label3.Location = New Point ( 8 , 72 )
Label3.Size = New Size ( 88 , 16 )
Label3.Text = "住址:"
ExternalCompany.Location = New Point ( 120 , 62 )
ExternalCompany.Size = New Size ( 136 , 20 )

Me.Text = "繼承得到的窗口!"
Me.Controls.Add ( Label3 )
Me.Controls.Add ( ExternalCompany)
End Sub
End Class
Module Module1
Sub Main ( )
Application.Run ( new Form1 ( ) )
End sub
End Module


(2).編譯生成客執行文件(main.exe):
這一節也是十分重要的,如何編譯main.vb文件?在編譯的時候要引入name.dll文件,因為在他的里面封裝了my名稱空間。具體命令行如下:
vbc /t:winexe /r:system.dll /r:system.windows.forms.dll /r:systme.drawing.dll /r:name.dll mani.vb

在編譯完成后main.exe文件就產生了,執行就得到以下界面:


圖02:測試my名稱空間時生成的界面

由此可見,我們已經成功的創建了一個屬于自己的名稱空間。
五.總結:
繼承是面向對象的開發語言的一個重要組成部分,在程序設計中充分的利用繼承關系,可以最大范圍的提高程序的可利用性,使得用最少的代碼開發比較大的應用程序。
通過以上也可以看出做一個名稱空間也不是一件很難事情,關鍵是要對.Net的結構有一個比較清楚的認識。VB.NET作為新一代的開發語言,他提供給我們一個廣闊的程序開發平臺,在這個平臺上,我們就可以更大范圍的放飛自己的思想。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 欧美特级aaa| 日韩精品第1页| 霍思燕三级露全乳照| 亚洲高潮无码久久| 日韩视频在线观看视频| 亚洲制服在线观看| 可以看污的网站| 免费网站在线观看黄| 午夜免费看视频| 九九九九九九九九| 亚洲女人在线观看| 免费在线精品视频| 日韩网站在线免费观看| 国产深夜男女无套内射| 日韩精品一区二区三区久久| 国产二区视频在线播放| 国产精品人人妻人人爽人人牛| 乱妇乱女熟妇熟女网站| 国产第一页视频| 毛片毛片毛片毛| 97av中文字幕| 国产女女做受ⅹxx高潮| 日本77777| 国产人妻人伦精品| www一区二区www免费| 黄色片在线免费| 黑人巨大国产9丨视频| 男人添女荫道口图片| 无码aⅴ精品一区二区三区浪潮| aaa毛片在线观看| 青青草原播放器| 国产免费观看高清视频| 日日噜噜夜夜狠狠| 老司机午夜免费福利视频| 国产美女无遮挡网站| 成人不卡免费视频| www..com日韩| 一级一片免费播放| 国产第一页视频| 91视频成人免费| 久久精品网站视频| 欧美国产视频一区| 182午夜在线观看| aa在线免费观看| 99国产精品白浆在线观看免费| 成人三级视频在线播放| 日本xxx免费| 激情五月俺来也| 色欲av无码一区二区人妻| 99久re热视频精品98| 午夜激情在线观看视频| 老太脱裤让老头玩ⅹxxxx| 亚洲妇熟xx妇色黄蜜桃| 日本xxxxxxx免费视频| 日韩视频在线视频| 真人做人试看60分钟免费| www.亚洲自拍| 九九精品久久久| 亚洲一区在线不卡| 日本www高清视频| 日韩视频第二页| 青青青在线视频播放| www.18av.com| 少妇一晚三次一区二区三区| 性欧美18一19内谢| 亚洲国产精品女人| 欧美a级黄色大片| 日本黄xxxxxxxxx100| 日韩不卡一二区| www.99riav| 你真棒插曲来救救我在线观看| 五月天色婷婷综合| 国产四区在线观看| 国产91porn| 日本xxxxxxxxxx75| 日韩av综合在线观看| 欧美日韩黄色一级片| 日本三级免费网站| 国产精品无码专区av在线播放 | 精品日韩在线播放| 日本高清免费观看| 欧美国产综合在线| 国产黄色一级网站| 黄色片视频在线免费观看| 欧美牲交a欧美牲交aⅴ免费真| 久久久久久久久久久福利| av免费在线播放网站| 天天爽人人爽夜夜爽| 欧美激情第一区| 伊人网在线免费| 无码人妻h动漫| 最新免费av网址| avav在线播放| 日韩网址在线观看| 亚洲精品综合在线观看| 国产卡一卡二在线| 欧美 日韩精品| 中文字幕av导航| 青青视频在线播放| 欧美一级黄色录像片| 国产免费黄色一级片| 久热在线视频观看| 欧美一区二区三区爽大粗免费| 又色又爽又高潮免费视频国产| 成年人免费观看的视频| 日韩欧美精品在线观看视频| 国产高清免费在线| 国产真实乱子伦| 久久精品xxx| aaa一级黄色片| 一本色道无码道dvd在线观看| 国产三级中文字幕| 孩娇小videos精品| 青青草原av在线播放| 欧美日韩激情四射| 国产福利精品一区二区三区| 97超碰青青草| 欧美视频在线观看网站 | 黄色片免费网址| 成年人在线观看视频免费| 大西瓜av在线| 久久人人爽人人片| 超碰成人在线播放| 国产免费999| 国产精品亚洲二区在线观看 | 激情在线观看视频| 亚欧激情乱码久久久久久久久| 热99这里只有精品| 成人免费播放器| 黄色激情在线视频| www.男人天堂网| 日本福利视频导航| 午夜久久久久久久久久久| 亚洲美女性囗交| 日韩在线一区视频| 99精品999| 国产精品夜夜夜爽张柏芝| 最近中文字幕免费mv| 午夜激情视频网| 日本一二三区视频在线| 狠狠干视频网站| 免费拍拍拍网站| 欧美色图另类小说| 国产精品无码一本二本三本色| www.中文字幕在线| 久久久久久香蕉| 国产又大又黄又猛| 欧美亚洲视频一区| 欧美视频在线观看视频| 国产成人a亚洲精v品无码| 99草草国产熟女视频在线| 国产三级国产精品国产专区50| 激情黄色小视频| 精品91一区二区三区| 黄页免费在线观看视频| 日韩有码免费视频| 午夜大片在线观看| 久久av综合网| 亚洲综合色在线观看| av中文字幕av| 国产精品少妇在线视频| 特级西西444www| 91午夜在线观看| 99草草国产熟女视频在线| 亚洲女人在线观看| 久久久性生活视频| 蜜臀一区二区三区精品免费视频| 亚洲激情免费视频| 精品久久久噜噜噜噜久久图片| 激情成人在线观看| 国产极品美女高潮无套久久久| 亚洲理论中文字幕| 国产亚洲天堂网| 久久久久久久9| 伊人五月天婷婷| 97公开免费视频| www.99热这里只有精品| 麻豆中文字幕在线观看| 蜜臀久久99精品久久久酒店新书| 97超碰免费观看| 亚欧美在线观看| 欧美日韩第二页| 男人天堂av片| 久久精品国产精品亚洲精品色| 精品免费国产一区二区| av在线免费观看国产| 香蕉视频xxxx| 手机免费看av网站| 激情综合网婷婷| 青青草原av在线播放| 成人免费在线网| 国产精品igao激情视频| 伊人国产精品视频| 一级在线免费视频| 天天爽天天爽夜夜爽| 国产男女无遮挡| 国产在线观看福利| 国产美女网站在线观看| 人妻激情另类乱人伦人妻| 公共露出暴露狂另类av|