2010-07-22 335 views
0
Public Class Form1 
Dim i = 0 
Dim re = True 
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick 
    If i = 225 Then 
     re = False 
    ElseIf i = 0 Then 
     re = True 
    End If 
    If re = True Then 
     i += i 
    ElseIf re = False Then 
     i -= i 
    End If 
    color1.BackColor = Color.FromArgb(i, i, i) 
End Sub 
End Class 

在这段代码中,我想从黑到白,然后从白到黑的标签。 我设置了重新变量来表明它是否是白色,然后我会减少,直到颜色变黑。 =>不工作为什么这个代码不工作

+1

有时尝试加密您的代码。在函数的开头放置一个断点,并逐步完成它可能会让你自己找到输入错误。 – pascal 2010-07-22 06:09:16

回答

5
i += i 

应该是:

i += 1 

i开始在0,让您不断添加0+0和从来没有得到任何地方。
此外,RGB颜色一直到255,而不是225,但你会看到一个。

+0

谢谢,它的工作原理 – Snoob 2010-07-22 05:26:36

2

首先,确保在代码中的其他位置启用了Timer Timer。另外,请做一下Kobi说的,将i += i更改为i += 1

什么同样重要的是开始使用Option Strict OnOption Explicit On和声明类型的变量:

Dim i As Integer = 0 
Dim re As Boolean = True 

这是提高代码质量的第一步。

+0

这个代码有很多问题:''我应该是'shade','re'应该是'addsSahde','如果增加Sahde then'。我能想到更多。 – Kobi 2010-07-22 05:34:19

+0

谢谢,但我不是英文,所以我只是做一个随机变量名称:( – Snoob 2010-07-22 05:44:23