在VB.NET中淡入或淡出标签

时间:2017-04-02 08:43:08

标签: vb.net fadein fade fadeout

我在VB.NET中有一个淡入控件(Label)的问题, 我想让标签顺利淡入/淡出,我使用了一个计时器,3个变量名为RColor,GColor和BColor,这三个变量用于填充Color.FromArgb中的Function。像往常一样,RGB中的黑色是(0,0,0),白色是(255,255,255)

问题是,

我不能使用逻辑If因为它会返回异常:

  

System.ArgumentException:'值'256'对'red'无效。 'red'应大于或等于0且小于或等于255。'

Private Sub Tmr_Out_Tick(sender As Object, e As EventArgs) Handles Tmr_Out.Tick
RColor += 1
GColor += 1
BColor += 1
If RColor = 255 And GColor = 255 And BColor = 255 Then
    Tmr_In.Stop()
End If
Label1.ForeColor = Color.FromArgb(RColor, GColor, BColor) 'This line goes to where the exception did happened.

我做的另一种方法是使用循环语句:

Private Sub Tmr_Out_Tick(sender As Object, e As EventArgs) Handles Tmr_Out.Tick
Do Until RColor = 255 And GColor = 255 And BColor = 255
    RColor += 1
    GColor += 1
    BColor += 1
    Label1.ForeColor = Color.FromArgb(RColor, GColor, BColor)
Loop
Tmr_Out.Stop()

该代码有效,但标签的前色似乎立即改变了......

**编辑:** 我自己回答了我的问题。

0 个答案:

没有答案