[問題] VC++2008的backgroundWorker

看板C_and_CPP (C/C++)作者 (Oswin)時間15年前 (2010/09/10 01:28), 編輯推噓1(1012)
留言13則, 2人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) 我想用練習使用backgroundWorker 我把想用子thread做的事情寫在DoWork裡 然後在button的click裡叫它run 但是它不理我 一點反應都沒有 毫無動靜 囧 是因為沒加please不夠禮貌嗎...... 自婊好爛的梗 Orz" 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 2008 有問題的code: (請善用置底文標色功能) // button1 for calling thread run private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { backgroundWorker1->RunWorkerAsync(); } // backgroundWorker private: System::Void backgroundWorker1_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) { int i = 0; while(1) { i ++; label1->Text = i.ToString("e"); } } } // button2 for calling thread canceled private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { backgroundWorker1->CancelAsync(); } =======================回應loveme大的分隔線========================= loveme大, 請問您說的是這段嗎? this->backgroundWorker1->DoWork += gcnew System::ComponentModel::\ DoWorkEventHandler(this,&Form1::backgroundWorker1_DoWork); 我是用win form designer拉元件進去 這段是designer自動生成的 補充說明: 先謝謝說明的高手了 感激 ^^" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.129.3

09/10 03:22, , 1F
有沒為你的backgroundWorker1新增DoWorkEventHandler
09/10 03:22, 1F

09/10 03:22, , 2F
委派?
09/10 03:22, 2F
※ 編輯: cloudlim 來自: 122.116.113.12 (09/10 10:54)

09/10 12:12, , 3F
看注意事項那邊 : http://ppt.cc/rLYq
09/10 12:12, 3F

09/10 13:30, , 4F
唔...請問一下 意思是因為我在DoWork裡處理label的關係?
09/10 13:30, 4F

09/10 13:31, , 5F
所以我應該要把要做的事情寫成一個function, 然後再在
09/10 13:31, 5F

09/10 13:31, , 6F
DoWork裡call那個function?
09/10 13:31, 6F

09/10 13:35, , 7F
範例中是用 ProgressChangedEvent 來通知別的 handler
09/10 13:35, 7F

09/10 13:37, , 8F
完成改變 UI 物件的動作
09/10 13:37, 8F

09/10 15:03, , 9F
喔喔 對喔 因為不能直接跨thread操作物件嗎?
09/10 15:03, 9F

09/10 15:19, , 10F
BackgroundWorker沒用過所以我不太清楚他的handler是
09/10 15:19, 10F

09/10 15:19, , 11F
由哪些執行緒在跑, 不過timer、Thread都是不能直接存
09/10 15:19, 11F

09/10 15:19, , 12F
取 UI 物件的
09/10 15:19, 12F

09/10 22:25, , 13F
喔喔~瞭改了 感激唷 再來去試試看..
09/10 22:25, 13F
文章代碼(AID): #1CYHafh6 (C_and_CPP)
文章代碼(AID): #1CYHafh6 (C_and_CPP)