按钮控件数组
Public Class ButtonArray
??? Inherits System.Collections.CollectionBase
??? Private ReadOnly HostForm As System.Windows.Forms.Form
??? '創建類的構造函數。
??? ' Visual Basic
??? Public Sub New(ByVal host As System.Windows.Forms.Form)
??????? HostForm = host
??????? 'Me.AddNewButton()
??? End Sub
?
??? Public Sub AddNewButton() '?AddHandler aButton.Click, AddressOf ClickHandler
??????? ' 創建 Button 類的新實例。
??????? Dim aButton As New System.Windows.Forms.Button
??????? ' 將按鈕添加到集合的內部列表。
??????? Me.List.Add(aButton)
??????? ' 將按鈕添加到由 HostForm 字段
??????? ' 引用的窗體的控件集合中。
??????? HostForm.Controls.Add(aButton)
??????? ' 設置按鈕對象的初始屬性。
??????? aButton.Top = Count * 25
??????? aButton.Left = 100
??????? aButton.Tag = Me.Count
??????? aButton.Text = "按鈕 " & Me.Count.ToString
??????? '將事件與事件處理程序相關聯
??????? AddHandler aButton.Click, AddressOf ClickHandler
??? End Sub
??? '公開控件數組
??? Default Public ReadOnly Property Item(ByVal Index As Integer) As _
?? System.Windows.Forms.Button
??????? Get
??????????? Return CType(Me.List.Item(Index), System.Windows.Forms.Button)
??????? End Get
??? End Property
??? Public Sub Remove()
??????? ' 檢查以確保存在要刪除的按鈕。
??????? If Me.Count > 0 Then
??????????? ' 從宿主窗體控件集合中刪除添加到數組
??????????? ' 的最后一個按鈕。請注意在訪問數組時
??????????? ' 默認屬性的使用。
??????????? HostForm.Controls.Remove(Me(Me.Count - 1))
??????????? Me.List.RemoveAt(Me.Count - 1)
??????? End If
??? End Sub
??? '創建公共事件處理程序
??? Public Sub ClickHandler(ByVal sender As Object, ByVal e As _
?? System.EventArgs)
??????? MessageBox.Show("您已單擊按鈕 " & CType(CType(sender, _
?????????? Button).Tag, String))
??? End Sub
轉載于:https://www.cnblogs.com/qiyuan/archive/2007/04/05/700964.html
總結
- 上一篇: 梦到抓八爪鱼预示着什么
- 下一篇: [转]新东方老师上课讲的笑话(太有才了)