vb 动态加载的控件,怎么激发其click事件
比如我动态添加了一个TextBox,控件名为“姓名”然后我怎么激发这个控件的Click事件,就是这个事件privatesub姓名_Click()怎么去激发?如果是设计时就...
比如我动态添加了一个TextBox ,控件名为“姓名”
然后我怎么激发这个控件的Click事件,就是这个事件private sub 姓名_Click()怎么去激发?如果是设计时就有的控件,这样写就能激发,但是动态添加的为什么就不管用了?
先题:我不要用控件组那样实现,还有没有别的办法? 展开
然后我怎么激发这个控件的Click事件,就是这个事件private sub 姓名_Click()怎么去激发?如果是设计时就有的控件,这样写就能激发,但是动态添加的为什么就不管用了?
先题:我不要用控件组那样实现,还有没有别的办法? 展开
2个回答
展开全部
动态添加控件,就要预先生成控件数组。至少有一个已有控件,例如Text1(0)。
这要求你在设计阶段必须有该控件数组的Click事件过程。例如:
Private Sub Text1_Click(Index As Integer)
'处理代码
End Sub
当你添加一个控件的时候,就会获得一个新的i=Index。
你还可以通过i=Text1.UBound获取最新的Index。
你就可以直接调用Text1_Click(i)
Text1_Click(i)
也可以写成
Call Text1_Click(i)
OK!就这么简单!
这要求你在设计阶段必须有该控件数组的Click事件过程。例如:
Private Sub Text1_Click(Index As Integer)
'处理代码
End Sub
当你添加一个控件的时候,就会获得一个新的i=Index。
你还可以通过i=Text1.UBound获取最新的Index。
你就可以直接调用Text1_Click(i)
Text1_Click(i)
也可以写成
Call Text1_Click(i)
OK!就这么简单!
追问
我上面说了啊,不想用控件数组,因为对其他的实现有影响,我在问除了用控件数组,还有木有其他的办法呀?
追答
不用控件数组,使用VB。NET就可以实现。
展开全部
在通用声明区用 Dim WithEvents 声明变量。
Dim WithEvents 姓名 As TextBox
Private Sub Form_Load()
Set 姓名 = Me.Controls.Add("VB.TextBox", "姓名")
姓名.Visible = True
End Sub
Private Sub 姓名_Click()
MsgBox "点击了控件名为“姓名”的 TextBox "
End Sub
追问
谢谢,我试过了,不管用,呜呜呜!
追答
把你的代码复制下来看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询