新聞中心
VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET Component類,包括介紹直接使用COM組件是通過Add Reference來實(shí)現(xiàn)等方面。

組件其實(shí)是一段可以重用的代碼,通過遵循IComponent接口的標(biāo)準(zhǔn)來實(shí)現(xiàn)一個(gè)組件,所以有組件都是派生于Component類,由VB.NET Component類來實(shí)現(xiàn)IComponent接口。在組件中應(yīng)正確使用函數(shù)的訪問級(jí)別來控制外部對(duì)其的訪問限制。
只要有足夠的權(quán)限就可以將組件放到自己的程序中而不用擔(dān)心組件會(huì)產(chǎn)生多大的錯(cuò)誤,因?yàn)榻M件已經(jīng)經(jīng)過測(cè)試的。比如說可以把一段登錄的程序做成一個(gè)組件,或者把經(jīng)常使用到的一些功能也做成組件,這樣就可以減少開發(fā)中的錯(cuò)誤,也可以縮短開發(fā)時(shí)間。組件之間也可以互相套用,如一個(gè)組件引用另一個(gè)組件,都是沒問題,但要先在Add Reference中添加對(duì)組件的引用,在.NET中是通過把組件放在程序集中來實(shí)現(xiàn)的,程序集中存放著這些組件所依賴的文件信息和所在路徑,因此CLR 就可以通過這些信息來確定組件所需要的其他程序集的位置。
在VS中創(chuàng)建組件:選建一個(gè)Project,再從模板中選Class Library,OK。接著再從Project菜單中Add Component,到些為止,組件的一個(gè)框架就呈現(xiàn)在眼前,平臺(tái)自動(dòng)繼承了VB.NET Component類和構(gòu)造函數(shù)??梢詣h除原先創(chuàng)建類庫時(shí)自動(dòng)生成的 Class1,看應(yīng)用的需要。接著就可以在組件類里寫要實(shí)現(xiàn)的功能,***從Build(生成)菜單中選擇Build Solution(生成解決方案)來生成組件。如果生成成功的話,到應(yīng)用程序的BIN目錄下會(huì)看到一個(gè)DLL文件。
引用組件:只要在Solution Explorer窗口中,添加對(duì)DLL的Reference就可以了。
- Imports loginValidator
- Imports System.Data
- Imports System.Data.SqlClient
- Public Class loginFormClass loginForm
- Inherits System.Windows.Forms.Form
- #Region " Windows 窗體設(shè)計(jì)器生成的代碼 "
- Public Sub New()Sub New()
- MyBase.New()
- '該調(diào)用是 Windows 窗體設(shè)計(jì)器所必需的。
- InitializeComponent()
- '在 InitializeComponent() 調(diào)用之后添加任何初始化
- End Sub
- '窗體重寫 dispose 以清理組件列表。
- Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
- If disposing Then
- If Not (components Is Nothing) Then
- components.Dispose()
- End If
- End If
- MyBase.Dispose(disposing)
- End Sub
- 'Windows 窗體設(shè)計(jì)器所必需的
- Private components As System.ComponentModel.IContainer
- '注意: 以下過程是 Windows 窗體設(shè)計(jì)器所必需的
- '可以使用 Windows 窗體設(shè)計(jì)器修改此過程。
- '不要使用代碼編輯器修改它。
- Friend WithEvents lblUserPwd As System.Windows.Forms.Label
- Friend WithEvents lblUserName As System.Windows.Forms.Label
- Friend WithEvents txtUserName As System.Windows.Forms.TextBox
- Friend WithEvents txtUserPwd As System.Windows.Forms.TextBox
- Friend WithEvents btnSubmit As System.Windows.Forms.Button
- Friend WithEvents btnExit As System.Windows.Forms.Button
- Friend WithEvents Label1 As System.Windows.Forms.Label
- Friend WithEvents Label2 As System.Windows.Forms.Label
- Friend WithEvents btnCancel As System.Windows.Forms.Button
- Friend WithEvents Label3 As System.Windows.Forms.Label
()> Private Sub
InitializeComponent()Sub InitializeComponent()- Dim resources As System.Resources.ResourceManager =
New System.Resources.ResourceManager(GetType(loginForm))- Me.lblUserPwd = New System.Windows.Forms.Label
- Me.lblUserName = New System.Windows.Forms.Label
- Me.txtUserName = New System.Windows.Forms.TextBox
- Me.txtUserPwd = New System.Windows.Forms.TextBox
- Me.btnSubmit = New System.Windows.Forms.Button
- Me.btnExit = New System.Windows.Forms.Button
- Me.Label1 = New System.Windows.Forms.Label
- Me.Label2 = New System.Windows.Forms.Label
- Me.btnCancel = New System.Windows.Forms.Button
- Me.Label3 = New System.Windows.Forms.Label
- Me.SuspendLayout()
關(guān)于VB.NET Component類:.NET可以向后兼容,并支持了COM和ActiveX對(duì)象等早期版本的應(yīng)用程序。在.NET中使用COM等很有趣,.NET創(chuàng)建一個(gè)包將它們包裝起來,而它們之間的交互就是通過這個(gè)包裝來進(jìn)行的,這個(gè)包就叫做運(yùn)行時(shí)可呼叫包裝(RCW)。可以直接使用COM,也可以先轉(zhuǎn)換成.NET程序集后再使用。
1、直接使用COM組件是通過Add Reference來實(shí)現(xiàn)的,這種方法通過RCW來包裝。缺點(diǎn):無法放到 GAC中,不能重用。
2、通過轉(zhuǎn)換成.NET程序集來使用,是通過利用 tlbimp 命令行工具來實(shí)現(xiàn)的。
***個(gè)為COM的名稱,第二個(gè)為要生成的.NET組件名稱,第三個(gè)為要生成的名稱空間,第四個(gè)為 版本號(hào),第四個(gè)指定引用的文件名。
名稱欄目:詳解VB.NETComponent類
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpgeihd.html


咨詢
建站咨詢
