vb如何动态添加timer控件及timer事件?
vb如何动态添加timer控件及timer事件?
就是可以无限制添加timer控件及timer控件的Timer事件?
如:Private WithEvents Timer1 as Timer
private sub SetNewTm1()
set timer1 =controls.add("VB.Timer","Timer1")
tm1.interval=1000
end sub
private sub Timer1_Timer()
msgbox ""
end sub
[解决办法]
用控件数组吧。按索引号识别是哪个触发的事件。
参考这个:
起初窗口中只有3个按钮,一个是添加动态按钮的,一个是移除用的。
还有一个就是动态按钮用的,命名为 cmdDynCmd ,并把 Index属性设置成 0 。
' 先在窗体上添加一个要‘动态加载’的对象,把它的 Index属性设置成 0
' 在代码窗口中把需要处理的事件代码写好
' (根据 Index 判断是哪个对象触发了事件过程)
Option Explicit
Private lCmdIndex As Long
Private Sub cmdAddBtn_Click()
If (lCmdIndex > 10) Then Exit Sub
lCmdIndex = lCmdIndex + 1
If (lCmdIndex > 0) Then Load cmdDynCmd(lCmdIndex)
cmdDynCmd(lCmdIndex).Visible = True
cmdDynCmd(lCmdIndex).Caption = "动态按钮" & lCmdIndex + 1
cmdDynCmd(lCmdIndex).Top = lCmdIndex * 450 + 120
End Sub
Private Sub cmdDynCmd_Click(Index As Integer)
MsgBox "你点击的是第 " & Index + 1 & " 个动态按钮。", 64
End Sub
Private Sub cmdRemove_Click()
If (lCmdIndex < 0) Then Exit Sub
If (lCmdIndex > 0) Then
Unload cmdDynCmd(lCmdIndex)
Else
cmdDynCmd(lCmdIndex).Visible = False
End If
lCmdIndex = lCmdIndex - 1
End Sub
Private Sub Form_Load()
lCmdIndex = -1
cmdDynCmd(0).Visible = False
End Sub