为什么这个代码不工作
问题描述:
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
在这段代码中,我想从黑到白,然后从白到黑的标签。 我设置了重新变量来表明它是否是白色,然后我会减少,直到颜色变黑。 =>不工作为什么这个代码不工作
答
i += i
应该是:
i += 1
i
开始在0
,让您不断添加0+0
和从来没有得到任何地方。
此外,RGB颜色一直到255,而不是225,但你会看到一个。
+0
谢谢,它的工作原理 – Snoob 2010-07-22 05:26:36
答
首先,确保在代码中的其他位置启用了Timer Timer。另外,请做一下Kobi说的,将i += i
更改为i += 1
。
什么同样重要的是开始使用Option Strict On
,Option Explicit On
和声明类型的变量:
Dim i As Integer = 0
Dim re As Boolean = True
这是提高代码质量的第一步。
有时尝试加密您的代码。在函数的开头放置一个断点,并逐步完成它可能会让你自己找到输入错误。 – pascal 2010-07-22 06:09:16