2013-03-21 76 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();