例如,在VB6中,您可以拥有一组按钮.在我的代码中,我有
Dim WithEvents cmdbuttons As New List(Of button)
(并在Load事件中传播List)
显然,您无法在容器上触发事件.是否有办法从容器的内容(具有不同的名称)中触发事件?
在button创建代码中,事件名称就在那里,但据我所知,处理程序不会拦截,因为Handles部分代码不存在(注释掉).
解决方法 我不确定你在追求什么,但是如果你想能够将事件处理程序添加到容器中的某些按钮并且还在列表中引用这些按钮,你可以做类似的事情.Public Class Form1 Dim mybuttons As List(Of button) Private Sub AddbuttonsToList(targetContainer As Control) mybuttons = New List(Of button) For Each c In targetContainer.Controls If TypeOf c Is button Then Dim bn = DirectCast(c,button) AddHandler bn.Click,AddressOf Somebutton_Click mybuttons.Add(bn) End If Next End Sub Private Sub Somebutton_Click(sender As Object,e As EventArgs) Dim bn = DirectCast(sender,button) MsgBox("You clicked " & bn.name) End Sub Private Sub Form1_Load(sender As Object,e As EventArgs) Handles MyBase.Load ' GroupBox1 has some buttons in it AddbuttonsToList(GroupBox1) End SubEnd Class总结
以上是内存溢出为你收集整理的在VB.NET中从List(Of T)中引发事件全部内容,希望文章能够帮你解决在VB.NET中从List(Of T)中引发事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)