vb.net动态访问动态控件

本文关键字:动态控件 访问 动态 net vb | 更新日期: 2023-09-27 18:29:03

我在WinForm中放置了一个FlowLayoutPanel并创建了一个名为ContactW 的复合控件

通过一个循环,我用几个ContactW对象填充了FlowLayoutPanel

For index = 0 To 99
    Dim Contact As New ContactW.BaseContactW()
    Contact.Tag = index
    'Here I could set properties
    '....
    AddHandler Contact.ContactClickEvt, AddressOf GenericClick
    flp_ContaninerContacts.Controls.Add(Contact)
Next

GenericClick获取ContactW对象,我可以修改它的属性

Public Sub GenericClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim cwa As ContactW.BaseContactW = CType(sender, ContactW.BaseContactW)
    MessageBox.Show("you have clicked " & CType(CType(sender, System.Object).Tag, String))
    cwa.ContactName = "Robert"
End Sub

但我想使用index或Tag修改ContactW的属性,例如:

Contact(21).ContactName = "Julia"
Contact(21).ContactAge = 35
Contact(21).ContactStatus = "Married"

我怎样才能做到这一点?

vb.net动态访问动态控件

您首先向其添加控件的Controls集合是一个集合,因此您只需像索引任何其他集合一样对其进行索引。