[入门级问题]VB6.0编写一段让文字变换颜色的代码
有两个模式:Timer自动控制和根据点击鼠标的次数进行变换共同要求是:颜色依次使用声明数组中定义的颜色(假定已经定义数组依次是vbblue,vbyellow,vbred,...
有两个模式:Timer自动控制和根据点击鼠标的次数进行变换
共同要求是:颜色依次使用声明数组中定义的颜色(假定已经定义数组依次是vbblue,vbyellow,vbred,vbblack,vbwhite等)颜色循环完了,又从第一个开始循环
Timer自动控制,Timer每触发一次,就变化到后一个颜色,这样一直重复下去
鼠标点击次数,鼠标每点击一次窗体,颜色就变化一次,这样一直重复下去
我使用Label显示文字的,听师傅说要声明全局变量什么的,也不懂。
希望能提供全代码,谢谢了啊。 展开
共同要求是:颜色依次使用声明数组中定义的颜色(假定已经定义数组依次是vbblue,vbyellow,vbred,vbblack,vbwhite等)颜色循环完了,又从第一个开始循环
Timer自动控制,Timer每触发一次,就变化到后一个颜色,这样一直重复下去
鼠标点击次数,鼠标每点击一次窗体,颜色就变化一次,这样一直重复下去
我使用Label显示文字的,听师傅说要声明全局变量什么的,也不懂。
希望能提供全代码,谢谢了啊。 展开
2个回答
展开全部
'请参考采纳!谢谢!
Dim color() '颜色数组
Dim i As Integer '颜色数组下标
Private Sub Form_Load()
color = Array(vbBlue, vbYellow, vbRed, vbBlack, vbWhite) '初始颜色设置
Timer1.Enabled = False '时间触发停止
Timer1.Interval = 100 '时间触发间隔
End Sub
'点击窗口时间控制变色
Private Sub Form_Click()
Timer1.Enabled = True
End Sub
'点击Label1控制变色
Private Sub Label1_Click()
Timer1.Enabled = False '时间触发停止
Label1.ForeColor = color(i)
i = IIf(i < UBound(color), i + 1, 0)
End Sub
Private Sub Timer1_Timer()
Label1.ForeColor = color(i)
i = IIf(i < UBound(color), i + 1, 0)
End Sub
追问
谢谢这么细心的解答,不过,我还看不懂
i = IIf(i < UBound(color), i +1, 0)
这种比较复杂的代码
能大概讲解一下嘛,根据我的理解,我理解的是如果i小于color数组的元素个数,那么i的值加1,否则,i=0
追答
i = IIf(i < UBound(color), i +1, 0)
可写成
if i < UBound(color) then
i=i+1
else
i=0
end if
意思是一样的。
说明:假如 当前颜色函数下标值(也就是i值)小于你设置的颜色函数数组(也就是color函数)最大下标值时,下标值递加1,否则如果下标值大于或等于颜色函数数组最大下标值时,下标值归0。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询