[入门级问题]VB6.0编写一段让文字变换颜色的代码

有两个模式:Timer自动控制和根据点击鼠标的次数进行变换共同要求是:颜色依次使用声明数组中定义的颜色(假定已经定义数组依次是vbblue,vbyellow,vbred,... 有两个模式:Timer自动控制和根据点击鼠标的次数进行变换
共同要求是:颜色依次使用声明数组中定义的颜色(假定已经定义数组依次是vbblue,vbyellow,vbred,vbblack,vbwhite等)颜色循环完了,又从第一个开始循环

Timer自动控制,Timer每触发一次,就变化到后一个颜色,这样一直重复下去
鼠标点击次数,鼠标每点击一次窗体,颜色就变化一次,这样一直重复下去

我使用Label显示文字的,听师傅说要声明全局变量什么的,也不懂。
希望能提供全代码,谢谢了啊。
展开
 我来答
忠成静0O
2013-10-15 · TA获得超过1049个赞
知道小有建树答主
回答量:1114
采纳率:100%
帮助的人:898万
展开全部
'请参考采纳!谢谢!
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。
设计营地
2013-10-15 · 分享交流设计软件相关的知识
设计营地
采纳数:552 获赞数:860

向TA提问 私信TA
展开全部
timer 和窗体单击事件,都是私有事件,自然要使用全局变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式