人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

在VB.Net中創建運用控件數組

在VB.Net中創建運用控件數組

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

在VB.Net中創建使用控件數組

首先創建一個Button類型控件數組:

1、創建“Windows應用程序”類型的工程,添加名為ButtonArray的類,并使該類繼承 System.Collection.CollectionBase 類。System.Collections.CollectionBase類是.NET框架類庫中為集合操作提供抽象的基類,通過對它的繼承可以為我們的ButtonArray類具備集合增加、刪除、索引的功能。

2、為ButtonArray類添加ParentForm屬性,即控件組所在窗體,創建初始化函數(構造函數);

3、為控件數組類增加AddItem方法,該方法在控件數組類中添加成員;

4、為控件數組類增加RemoveItem方法,該方法在控件數組中刪除一個成員。

 

示例代碼:

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.Button

        Get

            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 AddItem(ByVal btnItem As System.Windows.Forms.Button)

        Me.List.Add(btnItem)
        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)

        '在這里編寫控件數組對點擊事件的響應

        '例如:

        MsgBox("點擊:" & sender.GetType().ToString & CType(CType(sender, Button).Tag, String))

    End Sub

End Class


 

 

使用創建的控件數組

在Form1中放置兩個按鈕Button1、Button2,分別測試控件數組的增添、刪除。

雙擊Form添加代碼:

Public Class Form1

    Inherits System.Windows.Forms.Form

 

……Windows窗體設計器生成的代碼……

    Dim Buttons As New ButtonArray(Me)

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Buttons.AddItem()

    End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Buttons.RemoveItem()

    End Sub

End Class


其他的控件數組也可以用類似的方式來實現
例如 Label控件數組

LabelArray.vb代碼如下:
Public Class LabelArray
    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.Label

        Get

            Return Me.List.Item(index)   ' ButtonArray的List 屬性從CollectionBase 繼承

        End Get

    End Property


    Public Sub AddItem(ByVal btnItem As System.Windows.Forms.Label)

        Me.List.Add(btnItem)

        AddHandler btnItem.Click, AddressOf btnItem_Click '綁定事件處理程序

    End Sub
   


    Public Sub btnItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        '在這里編寫控件數組對點擊事件的響應

        '例如:

        MsgBox("點擊:" & sender.GetType().ToString & CType(CType(sender, Label).Tag, String))

    End Sub
End Class


使用創建的Label控件
在Form1中放置兩個按鈕Label1、Label2

雙擊Form添加代碼:

Public Class Form1

    Inherits System.Windows.Forms.Form


#Region " Windows 窗體設計器生成的代碼 "

    Public Sub New()
        MyBase.New()

        '該調用是 Windows 窗體設計器所必需的。
        InitializeComponent()

        '在 InitializeComponent() 調用之后添加任何初始化
        '用來綁定label
        BindArray()

    End Sub
……Windows窗體設計器生成的其他代碼……

#End Region
  Dim Labels As New LabelArray(Me)
  Public Sub BindArray()
        Me.Label1.Tag = "1111"
        Me.Label2.Tag = "222"
        Labels.AddItem(Me.Label1)
        Labels.AddItem(Me.Label2)
    End Sub
End Class

然后可以測試點擊兩個label可以顯示相應的Tag的信息。


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

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 湘潭县| 封丘县| 道孚县| 江口县| 哈密市| 关岭| 夹江县| 淄博市| 固镇县| 桐城市| 庄浪县| 石渠县| 龙游县| 灵武市| 阿坝县| 舒城县| 东光县| 澜沧| 绍兴县| 保山市| 新乡县| 红原县| 玉溪市| 商洛市| 吴江市| 海口市| 洛川县| 米泉市| 二连浩特市| 孝昌县| 綦江县| 武宣县| 宿州市| 嵊泗县| 疏勒县| 于田县| 菏泽市| 北宁市| 柞水县| 宁化县| 安多县|