看板 C_Sharp 關於我們 聯絡資訊
我的問題是這樣的 在表單上拉了一個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