C#串口通讯问题
我用C#编写监控软件,与单片机串口通讯,将收到的100个字节,这个800个二进制位的没有个位决定着一个picturebox控件为红色还是蓝色,现在这部分代码在主线程内,由...
我用C#编写监控软件,与单片机串口通讯,将收到的100个字节,这个800个二进制位的没有个位决定着一个picturebox控件为红色还是蓝色,现在这部分代码在主线程内,由于控件太多需要很长时间才能执行完,这段时间软件就跟四级一样,什么都不能做,如何解决这个问题?还有有什么办法实现在这个功能快一些?希望高手帮助,先谢谢啦!能解决问题的加分哦~~
展开
3个回答
展开全部
可以只使用一个picturebox来显示,通过gdi+把颜色画到控件上。
追问
这样会快吗?如果画也是一个一个的字节判定,一个一个决定颜色
追答
这样会快很多,因为不需要维护800个控件的更新,每个控件再重绘的时候都会调用大量的函数,所以会占用大量的时间。
另外,如果用一个picturebox的方案的话,不要直接画在picturebox上,应该在一个临时的对象中画完所有颜色,然后再画到picturebox上,这样可以避免画面闪烁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用线程专门负责串口模快的读写,并且要对串口的读写超时进行设置,否则超时时间是无穷时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询