国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

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

用VB.NET打造NameSpace

用VB.NET打造NameSpace

更新時間:2022-04-27 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

王天 

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


圖01:WinForm運行生成的界面

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

NameSpace my
(2).將程序尾部的調用執(zhí)行段落刪除,并加入代碼 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生成名稱空間,這也是比較重要的環(huán)節(jié),在編譯中要把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).編譯生成客執(zhí)行文件(main.exe):
這一節(jié)也是十分重要的,如何編譯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文件就產生了,執(zhí)行就得到以下界面:


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

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

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

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        欧美在线影院一区二区| 国产一区二区三区观看| 日本一区二区三区视频视频| 夜色激情一区二区| 成人永久看片免费视频天堂| 欧美色精品在线视频| 午夜a成v人精品| 91福利在线观看| 一区二区三区在线观看网站| 北条麻妃国产九九精品视频| 精品久久久久久久久久久久久久久久久 | 一区二区三区四区五区视频在线观看| 国产91对白在线观看九色| 久久综合九色综合欧美就去吻| 国产**成人网毛片九色| 国产精品欧美一区喷水| 日韩欧美在线一区二区三区| 久久精品国产**网站演员| 午夜免费久久看| 日韩一区二区电影网| 99久久国产综合精品女不卡| 亚洲一区二区欧美激情| 亚洲国产激情av| 337p日本欧洲亚洲大胆精品| 精品视频一区二区不卡| 成人听书哪个软件好| 欧美一级理论片| 亚洲国产成人av网| 99久久精品国产一区| 91精品国产色综合久久| 亚洲高清免费视频| 91视频xxxx| 国产精品久久久久精k8| 久久国产人妖系列| wwwwww.欧美系列| 午夜一区二区三区视频| 一本到高清视频免费精品| 亚洲午夜久久久| 欧美一级xxx| 青青国产91久久久久久| 欧美另类高清zo欧美| 1000部国产精品成人观看| 欧美精品久久一区二区三区| 亚洲与欧洲av电影| 欧美三级在线播放| 午夜影视日本亚洲欧洲精品| 欧美一级高清片| 国模少妇一区二区三区| 精品少妇一区二区三区在线视频| 首页亚洲欧美制服丝腿| 国产欧美一区二区三区沐欲| 国产一区二区三区精品视频| 国产日产欧产精品推荐色| 91在线精品秘密一区二区| 亚洲一区中文日韩| 亚洲国产精品99久久久久久久久| 成人a区在线观看| 亚洲精品中文字幕在线观看| 51久久夜色精品国产麻豆| 国产精品夜夜嗨| 亚洲成av人片一区二区梦乃| 国产喂奶挤奶一区二区三区| 欧美一区三区四区| www.99精品| 国产一区二区0| 伊人夜夜躁av伊人久久| 久久一区二区三区国产精品| 精品视频一区 二区 三区| 激情综合色综合久久综合| 国产成人免费视频网站高清观看视频| 一区二区三区成人在线视频| 日本亚洲三级在线| 国产自产高清不卡| 91亚洲国产成人精品一区二区三| 国产99久久久久| 成人爱爱电影网址| 在线视频你懂得一区二区三区| 国产大陆亚洲精品国产| 国产乱一区二区| 国产精品亚洲综合一区在线观看| 麻豆精品一区二区三区| 国产成人在线视频网址| 久久99精品国产.久久久久久| 美腿丝袜亚洲色图| 99久久99久久精品国产片果冻| 国产精品888| 色老汉av一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 91精品国产麻豆国产自产在线| 伊人一区二区三区| 国产河南妇女毛片精品久久久| 在线看日韩精品电影| 久久综合色综合88| 日本不卡不码高清免费观看| 美女一区二区三区| 3atv在线一区二区三区| 国产欧美精品一区二区色综合朱莉| 日韩毛片视频在线看| 97成人超碰视| 亚洲精品一区二区三区蜜桃下载| 亚洲卡通欧美制服中文| 国产精品99久久久久久久vr| 欧美图区在线视频| 国产精品久久久久四虎| 国产在线视视频有精品| 欧美一区二区三区视频在线观看| 亚洲欧洲av在线| 91免费观看国产| 一区二区三区精品视频| 欧美在线视频日韩| 亚洲一区二区三区爽爽爽爽爽| av爱爱亚洲一区| 偷拍日韩校园综合在线| 欧美一区二区播放| 日韩精品成人一区二区三区| 91精品国产综合久久精品app| 蜜桃免费网站一区二区三区| 日韩视频免费观看高清完整版在线观看| 亚洲亚洲人成综合网络| 欧美一二三四区在线| 99亚偷拍自图区亚洲| 亚洲欧洲99久久| 欧美另类久久久品| 韩国三级在线一区| 国产精品久久99| 7777精品伊人久久久大香线蕉| 经典三级在线一区| 亚洲国产日韩一区二区| 日韩视频在线你懂得| 91在线视频18| 日韩国产精品久久久久久亚洲| 国产精品沙发午睡系列990531| 欧美网站大全在线观看| 成人永久免费视频| 日韩成人午夜精品| 一区二区三区四区精品在线视频| 久久综合久久久久88| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久精品理论片| 国产91精品在线观看| 国产在线乱码一区二区三区| 亚洲精品欧美在线| 亚洲一区av在线| 一区二区三区加勒比av| 日本一区二区三区高清不卡| 欧美日韩亚洲综合| 日韩一区二区免费在线电影| 欧美日韩国产三级| 欧美丰满少妇xxxxx高潮对白| 欧美丝袜自拍制服另类| 欧美中文字幕一区| 日韩一区二区三区三四区视频在线观看| 欧美日本一道本| 久久综合国产精品| 亚洲欧洲99久久| 亚洲视频小说图片| 亚洲.国产.中文慕字在线| 亚洲国产日韩a在线播放性色| 日本不卡视频在线| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 另类小说色综合网站| 国产高清无密码一区二区三区| 久久国产成人午夜av影院| 成人三级伦理片| av动漫一区二区| 日韩欧美www| 亚洲人午夜精品天堂一二香蕉| 日本不卡一区二区| 一本久久a久久精品亚洲| 欧美精品一区二区三区蜜臀| 蜜桃视频在线观看一区二区| 欧美丝袜自拍制服另类| 香蕉久久一区二区不卡无毒影院| k8久久久一区二区三区 | 欧美人体做爰大胆视频| 日韩久久免费av| 国产精品一区二区三区四区| 精品视频色一区| 奇米888四色在线精品| 日韩色视频在线观看| 一区二区三区在线免费观看| 91视频91自| 日韩电影一二三区| 久久一日本道色综合| 成人美女视频在线看| 亚洲日本在线天堂| 欧美日韩一区二区在线观看视频| 日本91福利区| 亚洲天天做日日做天天谢日日欢| 欧美片在线播放| 国产精品亚洲成人| 午夜日韩在线观看| 中文一区一区三区高中清不卡| 欧美日韩中文另类| 99国产精品久久久久久久久久| 石原莉奈在线亚洲二区| 亚洲人午夜精品天堂一二香蕉| 久久久久国产成人精品亚洲午夜| 中文字幕在线不卡一区二区三区| 一本色道a无线码一区v|