好吧,很簡單,創建一個窗口窗體,放入一個按鈕和一個標籤,並給這個按鈕一個點擊事件。標籤中的循環bug
private void button1_Click(object sender, EventArgs e)
{
int xa;
int ya;
for (xa = 647; xa < 982; xa++)
for (ya = 262; ya < 598; ya++)
{
label1.Text = xa.ToString() + " " + ya.ToString();
}
}
和程序只是約20秒,當我點擊按鈕。我怎樣才能解決這個問題?
發生這種情況是因爲你在UI線程上做了一個很長的任務。看看'BackgroundWorker','async'和'StringBuilder'作爲獎勵。 – SimpleVar
現在你的問題是「如果你運行需要花費一些時間和重複多次的代碼,需要很長時間,如何修復它?」你可能想澄清你實際上想要達到什麼... –
我沒有看到我放入按鈕是一個長期的任務,它只是一個300x300的運行,但我想在這個程序中看到的是,y在程序中立即增加正在運行,而不是完成時。 – Tranoze