亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

winform的一個怪問題

winform的一個怪問題

一只名叫tom的貓 2018-12-07 09:05:42
我定義了一個label和一個進度條pb 邏輯如下   DataRow[] drs..   int total = drs.length;   for(int i = 0; i< drs.total; i++)   {     ........     label.text = i.tostring() + "/" + total.tostring();     pb.value = i * 100 / total   } ? 問題來了,進度條是在變化著的,label不變,直到循環完成,才直接顯示 22/22 ? 10938/10938等 這個是什么原因呢,顯示不同步。
查看完整描述

7 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

要用后臺線程去更新label的值的

查看完整回答
反對 回復 2019-01-21
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

應該是不是不變。是不是太快。你沒有看清楚呢

查看完整回答
反對 回復 2019-01-21
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

感覺,要是不起線程,進度條也變不了哪去吧?起線程。子線程做數據,主線程更新UI。

查看完整回答
反對 回復 2019-01-21
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

有分不?

你用this.invoke。把你那些操作放到這個invoke里面就行了

查看完整回答
反對 回復 2019-01-21
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

你都循環語句是在后臺線程中進行的,需要使用Invode或者BeginInvoke方法主動更新ui線程。

查看完整回答
反對 回復 2019-01-21
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

給進度條加個事件,在事件里改變標簽的值。

事件也相當一個線程。

或者用綁定也一樣。

查看完整回答
反對 回復 2019-01-21
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

Application.DoEvents();

查看完整回答
反對 回復 2019-01-21
  • 7 回答
  • 0 關注
  • 357 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號