作者Anonymoux (猜猜偶素隨 ? ^*^)
看板C_Sharp
標題[問題] delegate 的幾個問題...
時間Wed Dec 8 23:02:27 2010
我試著用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