VB简单问题,高手帮忙
来源:百度知道 编辑:UC知道 时间:2024/07/06 22:54:10
高手帮忙修改一下!注:只用循环实现,不用timer!
回答成功,即可送分,示谢!
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 8
If i Mod 2 = 1 Then Me.BackColor = vbBlack Else Me.BackColor = vbWhite
Sleep 1000
Next
End Sub
Private Sub Form_Load()
Me.BackColor = vbWhite
End Sub
试过了可以的。
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 8
If i Mod 2 = 1 Then Me.BackColor = vbBlack Else Me.BackColor = vbWhite
Sleep 1000
DoEvents '加上这个吧,释放系统资源,不然在单核CPU系统里面会看不到效果
Next
End Sub
Private Sub Form_Load()
Me.BackColor = vbWhite
End Sub
不知道你想要怎么变,用For来改变效果不明显,建议用Timer控件定时切换。
Option Explicit
Dim runInt As Integer
Private Sub Command1_Click()
Timer1.Enabled = Not Timer1.Enabled
End Sub
Private Sub Form_Load()
Me.BackColor = vbWhite
Timer1.Enabled = False
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
If runInt Mod 2 = 1 Then Me.BackColor = vbBlack Else Me.BackColor = vbWhite
If runInt < 8 Then runInt = runInt + 1 Else runInt = 1
End Sub
转移控制权最好不要乱用,特别是在大的循