[問題] delegate 的幾個問題...

看板C_Sharp作者 (猜猜偶素隨 ? ^*^)時間15年前 (2010/12/08 23:02), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
我試著用Jan Axelson's Usb hid code for c#去改 它裡面收資料的delegate 因為我的HID裝置會不停送資料 然後我希望輸出到listbox 上可以看收到的資料 有兩個問題 一、 他用的是非同步 delegate 先不論這樣的作法 實作的結果是當有大量資料被接收時,listbox會出現很明顯的延遲 例如裝置上已顯示資料發送完畢 但電腦端還在把剩餘的資料輸 Time 發出資料 接收到的 輸出到螢幕 1 1 1 3 2 2 1 5 3 3 2 6 3 3 7 4 4 3 9 3 12 4 也就是說 資料都送完了 電腦還沒處理完 就delegate 本身而言有沒有可能改善這樣的現象? 二、 我現在的delegate 是在function中begininvoke 但是當我把視窗縮到最小後會發現delegate好像失效了? 就這點不曉得有沒有辦法解決呢? (感覺是把delegate改成全域變數但不清楚做法) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.106.43

12/09 13:52, , 1F
試試先暫停listbox的更新,資料收完才繼續
12/09 13:52, 1F

12/10 21:50, , 2F
BeginInvoke()是會啟用非同步觸發,直接用Invoke()就行
12/10 21:50, 2F

12/10 21:52, , 3F
要強制更新也可加App.DoEvent(),反正應該不care效能嘛!
12/10 21:52, 3F
文章代碼(AID): #1C_vu6Qa (C_Sharp)