作者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
1F:→ proach:试试先暂停listbox的更新,资料收完才继续 12/09 13:52
2F:推 tomex:BeginInvoke()是会启用非同步触发,直接用Invoke()就行 12/10 21:50
3F:推 tomex:要强制更新也可加App.DoEvent(),反正应该不care效能嘛! 12/10 21:52