2010-07-22 334 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