根据计时器控制更改标签颜色 [英] Change label color according to timer control

查看:80
本文介绍了根据计时器控制更改标签颜色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想根据计时器控件将标签更改为三种不同的颜色。

我到目前为止的代码是:

 如果 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 &lt; 250 Then
            xi = xi + 10
        End If

        If xi = 250 Then
            If yi &lt; 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆