Option ExplicitPrivate Sub Command1_Click(Index As Integer) With Timer1(Index) .Interval = 1000 .Enabled = True End With End Sub
Option Explicit Private Sub Command1_Click(Index As Integer) With Timer1(Index) .Interval = 1000 .Enabled = True End With End Sub Private Sub Timer1_Timer(Index As Integer) OptStr Index End Sub Sub OptStr(ByVal Index As Integer) Select Case Index Case 0 ''这里写0号定时器要干的事 Case 1 ''这里写1号定时器要干的事 Case 2 ''这里写2号定时器要干的事 Case 3 ''这里写3号定时器要干的事 Case 4 ''这里写4号定时器要干的事 Case 5 ''这里写5号定时器要干的事 End Select End Sub
定时器不是那么用的!多个定时器会抢cpu的控制权,它们触发的顺序是随机的。如果需要按照点击的顺序来执行相应的操作,就只能用一个定时器并轮询相关参数,请参考下面的代码: Option Explicit Private Tim As String ''记录顺序 Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = False End Sub Private Sub Command1_Click(Index As Integer) Timer1.Enabled = True ''开启定时器 If InStr(Tim, CStr(Index)) > 0 Then ''如果想动态调整顺序,开启下面的代码 ''Tim = Replace(Tim, CStr(Index), "") ''Tim = Tim & CStr(Index) Else Tim = Tim & CStr(Index) ''顺序添加到后面 End If End Sub Private Sub Timer1_Timer() If Tim <> "" Then Dim i As Integer, w1 As String For i = 1 To Len(Tim) ''这里是完全按照点击的顺序来执行的 OptStr CInt(Mid$(Tim, i, 1)) Next End If End Sub Sub OptStr(ByVal Index As Integer) Select Case Index Case 0 ''这里写0号定时器要干的事 Case 1 ''这里写1号定时器要干的事 Case 2 ''这里写2号定时器要干的事 Case 3 ''这里写3号定时器要干的事 Case 4 ''这里写4号定时器要干的事 Case 5 ''这里写5号定时器要干的事 End Select End Sub
前辈,实在抱歉,如此长时间才回复,我又学到东西了,不耻下问,再向你请教一个问题:Private Sub Command1_Click(Index As Integer) if Command1.Caption = "打开" then Command1.Caption = "关闭" Timer1.Enabled = True ''开启定时器 If InStr(Tim, CStr(Index)) > 0 Then Tim = Tim & CStr(Index) ''顺序添加到后面 End If else Command.Caption = "关闭" then Command1.Caption. = "打开" Tim = ? '**将触发按钮的Index移出Tim序列,这里该如何做呢? end if End Sub
上面不是有嘛: Tim = Replace(Tim, CStr(Index), "") 另外:Command1.Caption = 应该修改为:Command1(index).Caption =
With Timer1(Index)
.Interval = 1000
.Enabled = True
End With
End Sub
Private Sub Command1_Click(Index As Integer)
With Timer1(Index)
.Interval = 1000
.Enabled = True
End With
End Sub
Private Sub Timer1_Timer(Index As Integer)
OptStr Index
End Sub
Sub OptStr(ByVal Index As Integer)
Select Case Index
Case 0
''这里写0号定时器要干的事
Case 1
''这里写1号定时器要干的事
Case 2
''这里写2号定时器要干的事
Case 3
''这里写3号定时器要干的事
Case 4
''这里写4号定时器要干的事
Case 5
''这里写5号定时器要干的事
End Select
End Sub
Option Explicit
Private Tim As String ''记录顺序
Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = False
End Sub
Private Sub Command1_Click(Index As Integer)
Timer1.Enabled = True ''开启定时器
If InStr(Tim, CStr(Index)) > 0 Then
''如果想动态调整顺序,开启下面的代码
''Tim = Replace(Tim, CStr(Index), "")
''Tim = Tim & CStr(Index)
Else
Tim = Tim & CStr(Index) ''顺序添加到后面
End If
End Sub
Private Sub Timer1_Timer()
If Tim <> "" Then
Dim i As Integer, w1 As String
For i = 1 To Len(Tim)
''这里是完全按照点击的顺序来执行的
OptStr CInt(Mid$(Tim, i, 1))
Next
End If
End Sub
Sub OptStr(ByVal Index As Integer)
Select Case Index
Case 0
''这里写0号定时器要干的事
Case 1
''这里写1号定时器要干的事
Case 2
''这里写2号定时器要干的事
Case 3
''这里写3号定时器要干的事
Case 4
''这里写4号定时器要干的事
Case 5
''这里写5号定时器要干的事
End Select
End Sub
if Command1.Caption = "打开" then
Command1.Caption = "关闭"
Timer1.Enabled = True ''开启定时器
If InStr(Tim, CStr(Index)) > 0 Then
Tim = Tim & CStr(Index) ''顺序添加到后面
End If
else Command.Caption = "关闭" then
Command1.Caption. = "打开"
Tim = ? '**将触发按钮的Index移出Tim序列,这里该如何做呢?
end if
End Sub
Tim = Replace(Tim, CStr(Index), "") 另外:Command1.Caption =
应该修改为:Command1(index).Caption =