根据计时器控制更改标签颜色 [英] Change label color according to timer control
本文介绍了根据计时器控制更改标签颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想根据计时器控件将标签更改为三种不同的颜色。
我到目前为止的代码是:
如果 Label1.ForeColor = Color.Orange 那么
Label2.ForeColor = Color。白色
Label3.ForeColor = Color.Green
ElseIf Label2.ForeColor = Color.Orange 然后
Label1.ForeColor = Color.Green
Label3.ForeColor = Color.White
ElseIf Label3.ForeColor = Color。白色然后
Label2.ForeColor = Color.Green
Label3.ForeColor = Color.Orange
结束 如果
请帮助我解决基本的问题。
解决方案
你要做的就是在你的程序中包含一个Timer。
您可以使用设计器(从工具箱中拖动它并设置属性)或代码:
Private Shared WithEvents changeColour As New System.Windows .Forms.Timer()在你的表单加载事件中:
changeColour.Interval = 500'半秒
changeColour.Start( )
并添加处理程序:
Private Shared Sub changeColour_tick(myObject As [Object],myEventArgs As EventArgs) _
处理myTimer.Tick
如果Label1.ForeColor = Color.Orange那么
Label2.ForeColor = Color.White
Label3.ForeColor = Color.Green
ElseIf Label2 .ForeColor = Color.Orange然后
Label1.ForeColor = Color.Green
Label3.ForeColor = Color.White
ElseIf Label3.ForeColor = Color.White然后
Label2.ForeColor = Color.Green
Label3.ForeColor = Color.Orange
End if
End Sub
Dim xi 作为 整数 = 0
Dim yi As 整数 = 0
昏暗 zi 作为 整数 = 0
< pre lang = vb>私人 Sub Timer1_Tick( ByVal sender As System。对象, ByVal e 作为 System.EventArgs)句柄 Timer1.Tick
如果 xi& lt; 250 然后
xi = xi + 10
结束 如果
如果 xi = 250 那么
如果 yi& lt; 250 然后
yi = yi + 10
结束 如果
如果 yi = 250 那么
zi = zi + 10
如果 zi = 250 然后
zi = 0
yi = 0
xi = 0
结束 如果
结束 如果
结束跨度> 如果
Label8.ForeColor = ColorTranslator.FromOle(RGB(xi,yi,zi))
Label9.ForeColor = ColorTranslator.FromOle(RGB (zi,yi,xi))
Label10.ForeColor = ColorTranslator.FromOle(RGB(yi,xi,zi))
Label11.ForeColor = ColorTranslator.FromOle(RGB(xi,zi,yi))
结束 Sub < / pre >
Hi, I want to change a label to three different colors according to the timer control.
The code I have so far is:
If Label1.ForeColor = Color.Orange Then
Label2.ForeColor = Color.White
Label3.ForeColor = Color.Green
ElseIf Label2.ForeColor = Color.Orange Then
Label1.ForeColor = Color.Green
Label3.ForeColor = Color.White
ElseIf Label3.ForeColor = Color.White Then
Label2.ForeColor = Color.Green
Label3.ForeColor = Color.Orange
End If
Please help me with the basic stuff.
解决方案
All you have to do is include a Timer in your program.
You can do it using the designer (drag it from the tool box and set the properties) or in code:
Private Shared WithEvents changeColour As New System.Windows.Forms.Timer()In your Form Load event:
changeColour.Interval = 500 ' Half a second changeColour.Start()
And add the handler:
Private Shared Sub changeColour_tick(myObject As [Object], myEventArgs As EventArgs) _ Handles myTimer.Tick If Label1.ForeColor = Color.Orange Then Label2.ForeColor = Color.White Label3.ForeColor = Color.Green ElseIf Label2.ForeColor = Color.Orange Then Label1.ForeColor = Color.Green Label3.ForeColor = Color.White ElseIf Label3.ForeColor = Color.White Then Label2.ForeColor = Color.Green Label3.ForeColor = Color.Orange End If End Sub
[edit]Posted a bit of cr@p VB code - I just did a verbatim translation from C# and forgot how crippled VB is... = OriginalGriff[/edit]
Dim xi As Integer = 0 Dim yi As Integer = 0 Dim zi As Integer = 0 <pre lang="vb">Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If xi < 250 Then xi = xi + 10 End If If xi = 250 Then If yi < 250 Then yi = yi + 10 End If If yi = 250 Then zi = zi + 10 If zi = 250 Then zi = 0 yi = 0 xi = 0 End If End If End If Label8.ForeColor = ColorTranslator.FromOle(RGB(xi, yi, zi)) Label9.ForeColor = ColorTranslator.FromOle(RGB(zi, yi, xi)) Label10.ForeColor = ColorTranslator.FromOle(RGB(yi, xi, zi)) Label11.ForeColor = ColorTranslator.FromOle(RGB(xi, zi, yi)) End Sub</pre>
这篇关于根据计时器控制更改标签颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文