[問題] 跑迴圈時怎麼即時更新label.text
假設程式有三個控制項
from1,label1,button1
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= 10; i++)
{
label1.Text = "" + i;
Thread.Sleep(1000);
}
}
本來期望看到執行的畫面會是
label1會從1,2,3....,10 每隔一秒加一加到十
不過實際上是等待10秒後
label1.Text會直接從預設的label1變成10
也就是說程式會直到button1_Click結束後才更新label1.Text
要怎麼做label1才會出現1,2,3....,10這樣的效果呢
好像只要是控制項就會有這問題 (textBox.Text也是一樣)
這現像應該在VB6就有了
因為我在寫VBA時就遇上
不過在不使用控制項直接寫入儲存格時(如 Range("A1")=i)
可以如我預期的那樣每秒更新
請問這個怎麼解決
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.138.50.125 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1570438550.A.5DF.html
推
10/07 17:05,
5年前
, 1F
10/07 17:05, 1F
→
10/07 18:13,
5年前
, 2F
10/07 18:13, 2F
→
10/07 18:13,
5年前
, 3F
10/07 18:13, 3F
→
10/07 18:14,
5年前
, 4F
10/07 18:14, 4F
→
10/07 19:01,
5年前
, 5F
10/07 19:01, 5F
→
10/08 18:39,
5年前
, 6F
10/08 18:39, 6F
→
10/08 18:40,
5年前
, 7F
10/08 18:40, 7F
→
10/08 19:39,
5年前
, 8F
10/08 19:39, 8F
→
10/08 20:38,
5年前
, 9F
10/08 20:38, 9F
推
10/09 01:06,
5年前
, 10F
10/09 01:06, 10F
推
10/17 00:35,
5年前
, 11F
10/17 00:35, 11F
推
10/22 13:43,
5年前
, 12F
10/22 13:43, 12F
→
10/22 13:45,
5年前
, 13F
10/22 13:45, 13F
推
10/29 06:42,
5年前
, 14F
10/29 06:42, 14F
→
12/13 14:55,
5年前
, 15F
12/13 14:55, 15F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章