我有一個帶有一些標籤的窗口。我希望標籤的背景色,取決於我運行一些測試的更改:一個接一個地改變標籤的顏色
private void btnStartTest_Click(object sender, EventArgs e)
{
if(Tests.FirstTest())
{
this.lblFirstTest.BackColor = Color.LawnGreen;
}
else
{
this.lblFirstTest.BackColor = Color.Red;
}
if(Tests.SecondTest())
{
this.lblSecondTest.BackColor = Color.LawnGreen;
}
else
{
this.lblSecondTest.BackColor = Color.Red;
}
//and so on...
}
我想要的標籤,以變更後的另一種顏色一個以顯示進度。 但現在顏色的變化只在方法結束時才生效。所以所有的標籤都會同時改變顏色。
這是爲什麼?我可以改變什麼來獲得所需的效果?
如果你的UI線程有很長的運行時間,比如你的測試,你的UI線程將會掛起。所以你的代碼沒有機會繪製更新。 – BugFinder