看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案):vb.net 目前要做一個自動排程上傳程式 主要是跑一個無限迴圈不斷的掃描資料庫中每一筆資料的時間 如果時間到了就上傳那筆資料記錄的資料夾中的檔案 因為程式內還有新增刪除資料庫的資料的功能 所以掃描的功能我就用了Backgroundworer來做背景作業 目前到這邊都沒問題,但是到了要寫LOG的時候就出現大問題了 因為我希望在掃描的時候,LOG可以寫出連線的相關資訊 例如連線失敗可以寫文字到listbox上,讓使用者觀看 目前卡在 1.無法把文字放到控制項 我是有用BackgroundWorker1.ReportProgress引發BackgroundWorker1_ProgressChanged 這個來做,不過還是失敗 希望有人可以幫忙一下 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.71.115
horngsh:會不會是woker thread不能改UI THREAD的問題? 03/09 15:44
Marty:用Delegate吧...BackGroudWorker沒有書上寫的那麼好用.. 03/09 16:35
nobody1:推樓上 03/09 18:33
Sany:你ReportProgress怎麼用,code讓我們看一下 03/11 15:11
jimmy701010:後來我沒有用 背景作業中無法控制lISTBOX 03/11 16:36
jimmy701010:我是另外呼叫自己寫的函式來寫進去 03/11 16:37
jimmy701010:ListBox.CheckForIllegalCrossThreadCalls = False 03/11 16:39
jimmy701010:還要加上上面這行才可以 跨thread控制 目前都ok 03/11 16:40
Marty:樓上那行指令是可以啦...但是比較像掩耳盜鈴的做法....XD 03/13 08:34
horngsh:Marty是對的, 要用正規的多執行緒的作法才是正道 03/14 17:35