对于窗体中的容器控件,比如 GroupBox,Panel 等,它仅仅访问了这些控件本身,而不会去访问它们的子控件。为了实现你所要求的功能,需要将上述代码修改:
在黑河等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、做网站 网站设计制作按需网站设计,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸营销网站建设,黑河网站建设费用合理。
Public Sub IterateThroughControls(ByVal parent As Control)
For Each c As Control In parent.Controls
MessageBox.Show(c.ToString())
If c.HasChildern Then
'利用递归实现容器子控件的访问,重复循环遍历控件,调用自身函数
IterateThroughControls(c)
End If
Next
End Sub
调用方法:
IterateThroughControls(TabControl1) 'tabcontrol1为控件名,也可用groupbox1等
此外,判断遍历的控件是不是相应的文本控件,或者combobox控件,可用此代码判断
For Each t As Control In Me.Controls
If TypeOf t Is TextBox Then
MsgBox(t)
End If
Next
Private Sub b_click(sender As Object, e As EventArgs)
MsgBox(sender.name)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b() As Button = {Button1, Button2, Button3}
For Each i In b
AddHandler i.Click, AddressOf b_click
Next
End Sub
继承ICollection(Of T),或者是ILIst(Of T),IDIctionary(Of TKey, TValue)等这些接口(具体哪个取决于你的Collection的性质)
具体语法的话……
Public Class MyCollection(Of T)
Implement ICollection(Of T)
………………
End Class
然后继承出来的函数应该怎么办建议看MSDN,每个接口继承出来的函数都不一样
通用的是GetEnumerator()这个,如果你用的一个集成了IEnumerable的字段那直接Return m_field.GetEnumerator()就可以
以下来自VB10 的语言参考,VB6与之类似
Visual Basic 中的集合
一般来说,集合是一个用于对相关对象进行分组和管理的对象。 例如,每个 Form 均具有一个控件集合。 (可以通过窗体的 Controls 属性来访问此集合。)此集合是一个表示该窗体上所有控件的对象。 它允许您按照控件的索引在集合中检索控件,以及使用 For Each...Next 语句 (Visual Basic) 来遍历集合中的元素。但是,有几种类型的集合,而且它们在几个方面均互不相同。
Visual Basic 也提供了 Collection 类,您可以利用此类定义和创建自己的集合。与窗体的 Controls 集合类似,Collection 类也提供使用 For Each...Next 来遍历元素以及按照索引检索元素的内置功能。有关更多信息,请参见 Collection。
但是,这两种类型的集合互相不能交互操作。例如,下面的代码生成一个编译器错误。
Dim localControls As Collection
' The following line generates a COMPILER ERROR.
localControls = Me.Controls()
由于 Controls 集合是 .NET Framework 集合,而变量 localControls 是 Visual Basic Collection,因此,两种集合互不兼容。这两种类型的集合是通过不同的类实现的。它们的方法相似但不相同,而且它们的索引方案并不相同。
添加和移除项
集合在是否可向它们添加项以及如何添加那些项(如果可以添加的话)方面也有差异。因为 Visual Basic Collection 对象是一种通用编程工具,所以它比其他一些集合更灵活。它具有一个用于将项放入集合的Add 方法,以及一个用于取出项的 Remove 方法。另一方面,某些专用集合不允许您使用代码添加或移除元素。例如,CheckedListBox.CheckedItems 属性按索引返回对项的引用集合,但您的代码无法在此集合中添加或移除项。只有用户通过在用户界面中选择或清除适当的框才能这样做。因此,对于此集合并没有 Add 或 Remove 方法。
关于如何使用集合,在参考页面最后有相关链接
第一题:
arrylist属于数组列表,特点是对于大小不可知的情况,可使用arrylist,可动态的添加删除元素
第二题:
这个属于集合的,只不过其中的一种,访问方式类似
相关连接:
建议你多使用F1,对于自己不明白的地方,直接F1,会弹出MSDN的帮助文件,很详细的。。。
Me.CbCustomers
Me.cbProductSpec
Me.txtQuantity
这里的me就是_myclass啊