這讓我真的很驚訝。最簡單的事情之一不起作用,做一個櫃檯。我在c#中做了一個有點類似遊戲的應用程序,還有一個計時器。很簡單的權利?我知道如何編碼,這是我以前做過的,但我不明白爲什麼現在不工作。爲什麼我的櫃檯不算?
int i = 0;
i++;
label1.Text = i.ToString();
label1.Text變爲1並且沒有其他事情發生。也試過這個計時器,但它在1 freeeszes。我知道這篇文章是不是真的會幫助其他人,但它是非常令人沮喪。
這讓我真的很驚訝。最簡單的事情之一不起作用,做一個櫃檯。我在c#中做了一個有點類似遊戲的應用程序,還有一個計時器。很簡單的權利?我知道如何編碼,這是我以前做過的,但我不明白爲什麼現在不工作。爲什麼我的櫃檯不算?
int i = 0;
i++;
label1.Text = i.ToString();
label1.Text變爲1並且沒有其他事情發生。也試過這個計時器,但它在1 freeeszes。我知道這篇文章是不是真的會幫助其他人,但它是非常令人沮喪。
爲什麼你總是在你的label1文本中獲得1?
的原因很簡單,每次你得到第一線的時候,我是0:
// Line 1
int i = 0; // declaring and setting i to 0
// Line 2
i++; // incrementing i to 1
// Line 3
label1.Text = i.ToString(); // displaying i (which is equal to 1)
,然後再你得到的1號線和設置I = 0,等等。
我認爲你有一個UI應用程序(win表單,web表單等等) 你已經提到你有一個計時器,可以正常工作,並且可以輸出遞增的i變量。
正如已經評論才能看到你的標籤的改變,你可以使用一個循環如下:
int length = 100; // for example
for (int i = 0; i < length; i++)
{
label1.Text = i.ToString();
}
的label1的文本輸出爲0,然後1,然後2 ....和最後99. 很顯然,在運行時你將無法看到除最後一個99之外的所有這些值,但你可以調試並查看它是如何工作的。
我推測,你需要的是讓你的標籤文本在每次計時器打勾時改變。 繼代碼示例,你怎麼能實現它:
private int i = 0; // initialized once in this UI class
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = i.ToString();
i++; // will increment by one each time the timer is ticking
}
設置你的計時器的時間間隔爲1000〜所以你可以清楚地看到如何在運行時的文本標籤增量。
如果你想增加它,你必須添加遞增邏輯就像一個循環for
或while
循環:
如果你想使用定時器計數的東西,請參考這個問題:here
你想從它得到什麼,它的簡單工作'0 + 1 = 1',每次你進入它初始化i = 0並增加1。 –
那是因爲每次你調用這段代碼,你把我設置爲0然後增加到1,第三行我的值將永遠是1. –
這裏應該發生什麼?你聲明一個局部變量並將其初始化爲零,然後將它增加到1,然後將標籤的文本設置爲1.你可以調用這個代碼幾千次,但結果總是1.如果你想得到幫助需要更多的代碼和上下文。 – Steve