2013-03-21 75 views
2

我有一個label得到充滿兩個strings,非常短,所以只有最後string將在label.Text property中可見。更新標籤與計時器

我想有這些strings,例如之間1.5秒的停頓:

string strMessage1 = "ONE"; 

string strMessage2 = "TWO"; 

Label.Text = strMessage1; 
//Pause of 1.5 seconds 
Label.Text = strMessage2; 

現在我試圖建立一個timer,方式如下:

private void FillString() 
{ 
    stringTimer = new System.Timers.Timer(); 
    stringTimer.Interval = 1500; 
    stringTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnStringTimerElapsed); 

    Label.Text = strMessage1; 
    stringTimer.Start(); 
} 

private void OnStringTimerElapsed(object sender, EventArgs e) 
{ 
    Label.Text = strMessage2; 
} 

但它只能說明第一個stringlabel,並沒有做任何事情與第二。我該怎麼辦?

+0

你曾經調用FillString方法嗎?我看到 - 'FillString'將它設置爲'strMessage1',然後永遠不會將它設置爲'strMessage2'? – 2013-03-21 12:56:57

+0

是的,這不是我完整的源代碼。 – Max 2013-03-21 12:57:52

+0

當時間間隔已過(1500毫秒)時,它應該轉到OnStringTimerElapsed方法,並且應該將Label.Text轉換爲strMessage2。 – Max 2013-03-21 12:59:08

回答

1

分配第二個字符串值後,使標籤對象失效。

Label1.Invalidate();