作者Uihc (我 有我的倔強...)
看板C_Sharp
標題[問題] progressbar秀進度的文字
時間Thu Nov 30 15:04:36 2006
我的問題是這樣的
在表單上拉了一個StatusStrip控制項,然後也加入了
progressbar(下列程式中的toolStripProgressBar1) 和
statuslabel(下列程式中的toolStripStatusLabel1)
部分程式內容:
foreach (string a in array1)
{
toolStripProgressBar1.Value += 100 / 14;
//array1內有14個元素
toolStripStatusLabel1.Text = toolStripProgressBar1.Value.ToString() + "%";
:
//迴圈裡做了一些事
:
}
//因為100不能被14除盡,所以出迴圈時,令progressbar值為100
toolStripProgressBar1.Value = 100;
toolStripStatusLabel1.Text = toolStripProgressBar1.Value.ToString() + "%";
現在的狀況就是在進度條有動,但是顯示現在進度到百分之幾的label沒有變化
直到執行完最後一輪迴圈時,出現"98%",然後跳出迴圈後出現"100%"
中間過程完全沒有變化,請問我的問題是出在什麼地方呢 謝謝<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.64.235
推 liunate:參考backgroundworker看看 11/30 15:23
推 horngsh:UI thread和Worker thread不同, 參考一樓的沒錯... 11/30 15:35
推 tomex:訊息來不及更新,ProecessMessage()=>DoEvent() 12/01 11:31
推 Uihc:呵呵 真的耶 加了一行Application.DoEvents()就解決了 ^^ 12/05 15:57