這篇文章主要介紹了如何使用VB.NET控件數(shù)組,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司是專業(yè)的懷來網(wǎng)站建設(shè)公司,懷來接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行懷來網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一、關(guān)于VB.NET控件數(shù)組
控件數(shù)組”是VB6中一項(xiàng)簡單而實(shí)用的技術(shù),通過對控件的簡單拷貝、復(fù)制,開發(fā)者可以指定一組控件,這些控件具有相同的類型和名稱,共享事件集。使用控件數(shù)組可以:
1、允許多個(gè)控件共享同一個(gè)事件句柄;
2、提供了運(yùn)行期間增加一個(gè)控件的機(jī)制;
3、提供了一種方便的組合控件的方法。
VB.NET控件數(shù)組的創(chuàng)建不再通過VB6中設(shè)計(jì)時(shí)對控件的簡單拷貝、復(fù)制而實(shí)現(xiàn)。VB .NET 的事件模型允許任何事件處理程序處理來自多個(gè)控件的事件,這使我們能夠編程創(chuàng)建屬于不同類型但共享相同事件的控件組。
二、創(chuàng)建VB.NET控件數(shù)組
下面我們創(chuàng)建一個(gè)Button類型控件數(shù)組:
1、創(chuàng)建“Windows應(yīng)用程序”類型的工程,添加名為ButtonArray的類,并使該類繼承 System.Collection.CollectionBase 類。System.Collections.CollectionBase類是.NET框架類庫中為集合操作提供抽象的基類,通過對它的繼承可以為我們的 ButtonArray類具備集合增加、刪除、索引的功能。
2、為ButtonArray類添加ParentForm屬性,即控件組所在窗體,創(chuàng)建初始化函數(shù)(構(gòu)造函數(shù));
3、為控件數(shù)組類增加AddItem方法,該方法在控件數(shù)組類中添加成員;
4、為控件數(shù)組類增加RemoveItem方法,該方法在控件數(shù)組中刪除一個(gè)成員。
Public Class ButtonArray
Inherits System.Collections.CollectionBase
Private ReadOnly ParentForm As System.Windows.Forms.Form
Public Sub New(ByVal pForm As System.Windows.Forms.Form)
ParentForm = pForm
End Sub
Default Public ReadOnly Property Item(ByVal index As Integer)
As System.Windows.Forms.ButtonGet
Return Me.List.Item(index)
'ButtonArray的List 屬性從CollectionBase 繼承
End Get
End Property
Public Sub AddItem()
Dim btnItem As New System.Windows.Forms.Button()
Me.List.Add(btnItem)
ParentForm.Controls.Add(btnItem)
'向窗體中增加控件
btnItem.Tag = Me.Count'Count屬性從CollectionBase 繼承
btnItem.Top = Me.Count * 30
btnItem.Left = 200
btnItem.Text = "Button" & Me.Count.ToString
AddHandler btnItem.Click, AddressOf btnItem_Click
'綁定事件處理程序
End Sub
Public Sub RemoveItem()
If Me.Count > 0 Then
ParentForm.Controls.Remove(Me(Me.Count - 1))
Me.List.RemoveAt(Me.Count - 1)
End If
End Sub
Public Sub btnItem_Click(ByVal sender As Object,
ByVal e As System.EventArgs)'在這里編寫控件數(shù)組對點(diǎn)擊事件的響應(yīng)
'例如:
MsgBox("點(diǎn)擊:" & sender.GetType().ToString &
CType(CType(sender, Button).Tag, String))End Sub
End Class
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用VB.NET控件數(shù)組”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!