C#使用定时器导致子界面在鼠标拖动时不流畅,会一卡一卡的,如何解决?

我的一个程序里面有一个定时器从程序开始就要定时扫描运动控制卡的当前坐标,而当我打开另外一个窗体的时候,发现拖动该窗体的时候会出现一卡一卡的,请教大神如何解决!... 我的一个程序里面有一个定时器从程序开始就要定时扫描运动控制卡的当前坐标,而当我打开另外一个窗体的时候,发现拖动该窗体的时候会出现一卡一卡的,请教大神如何解决! 展开
 我来答
qiushiji
2013-08-23 · TA获得超过502个赞
知道小有建树答主
回答量:560
采纳率:100%
帮助的人:523万
展开全部
System.Windows.Forms.Timer

类是使用UI线程工作的,所以在使用该类时要注意一定不要执行耗时较多的操作。这样会导致UI失去响应,因为UI线程去做别的工作而无法对UI进行响应或渲染。

        解决的方案是使用线程/线程池来进行耗时较多工作的执行操作。

更多追问追答
追问
使用线程能我知道,但是这样写有个疑问,我线程只执行了一次就线程自动销毁掉了,难道在里面做死循环给他去不停的执行吗?这样貌似不靠谱吧?我想要的是不停的去采集,而且貌似我采集的东西可能有点慢。求大神解决!方便的话留个邮箱给我zoudai79584100@163.com
追答
如果是持续性的工作可以使用while循环的方式来做。
也可以使用System.Threading.Timer来做。这是一个使用多线程的计时器。
百度网友9bee52952
2013-08-23 · 超过33用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:103万
展开全部
在适当位置加上doevents();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dmxhappy
2013-08-23 · 超过22用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:63.6万
展开全部
新建一个线程吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友115a69b
2013-08-23 · TA获得超过253个赞
知道小有建树答主
回答量:428
采纳率:50%
帮助的人:384万
展开全部
是不是在UI线程上使用了定时器?考虑多线程吧,.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式