怎么让按钮循环得到,失去焦点阿,请给点意见
怎样让按钮循环得到,失去焦点阿,请给点意见
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Me.ActiveControl = Button1
Threading.Thread.Sleep(1000)
Me.ActiveControl = Button2
Threading.Thread.Sleep(1000)
Me.ActiveControl = Button3
End Sub
想先让button1得到焦点,一段时间后,button2得到焦点,然后button3得到焦点。
可是这样写的话,按下start后,一段时间,焦点直接跳到button3了,应该怎么改改阿?
------解决方案--------------------
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Timer1.Interval = 1000
Timer1.Start()
End Sub
Dim num As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If num = 0 Then
Me.ActiveControl = Button1
num = 1
ElseIf num = 1 Then
Me.ActiveControl = Button2
num = 2
ElseIf num = 2 Then
Me.ActiveControl = Button3
End If
End Sub
------解决方案--------------------
Public Class Form1
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Me.ActiveControl = Button1
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.ActiveControl = Button2
Timer2.Enabled = True
End Sub
Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Me.ActiveControl = Button3
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
------解决方案--------------------
LSS的代码俺做了一下修改
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Timer1.Interval = 1000
Timer1.Start()
End Sub
Dim num As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If num Mod 3 = 0 Then
Me.ActiveControl = Button1
num = 1
ElseIf num Mod 3 = 1 Then
Me.ActiveControl = Button2
num = 2
ElseIf num Mod 3 = 2 Then
Me.ActiveControl = Button3
num = 0
End If
End Sub
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Me.ActiveControl = Button1
Threading.Thread.Sleep(1000)
Me.ActiveControl = Button2
Threading.Thread.Sleep(1000)
Me.ActiveControl = Button3
End Sub
想先让button1得到焦点,一段时间后,button2得到焦点,然后button3得到焦点。
可是这样写的话,按下start后,一段时间,焦点直接跳到button3了,应该怎么改改阿?
------解决方案--------------------
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Timer1.Interval = 1000
Timer1.Start()
End Sub
Dim num As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If num = 0 Then
Me.ActiveControl = Button1
num = 1
ElseIf num = 1 Then
Me.ActiveControl = Button2
num = 2
ElseIf num = 2 Then
Me.ActiveControl = Button3
End If
End Sub
------解决方案--------------------
Public Class Form1
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Me.ActiveControl = Button1
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.ActiveControl = Button2
Timer2.Enabled = True
End Sub
Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Me.ActiveControl = Button3
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
------解决方案--------------------
LSS的代码俺做了一下修改
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Timer1.Interval = 1000
Timer1.Start()
End Sub
Dim num As Integer = 0
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If num Mod 3 = 0 Then
Me.ActiveControl = Button1
num = 1
ElseIf num Mod 3 = 1 Then
Me.ActiveControl = Button2
num = 2
ElseIf num Mod 3 = 2 Then
Me.ActiveControl = Button3
num = 0
End If
End Sub