看板 C_Sharp 關於我們 聯絡資訊
我試著用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
proach:試試先暫停listbox的更新,資料收完才繼續 12/09 13:52
tomex:BeginInvoke()是會啟用非同步觸發,直接用Invoke()就行 12/10 21:50
tomex:要強制更新也可加App.DoEvent(),反正應該不care效能嘛! 12/10 21:52