C# richTextBox实时更新显示串口接收的数据,如果接收的数据频率高时,窗口界面的其他控件操作无反应 5
但是如果串口接收的数据频率较低时,其它控件能够正常操作。感觉涉及到异步操作,但是又不清楚从何做起,请高手出手相救分不够,只能给大家5分了,抱歉...
但是如果串口接收的数据频率较低时,其它控件能够正常操作。感觉涉及到异步操作,但是又不清楚从何做起,请高手出手相救
分不够,只能给大家5分了 ,抱歉 展开
分不够,只能给大家5分了 ,抱歉 展开
1个回答
展开全部
不清楚你的代码,先看一下你的代码里有没有明显的问题(比如说不用Richtextbox的AppendText方法去添加文本而是用一个string去累加然后再赋给richtextbox)。如果没什么问题的话,可以试试加一个缓冲区域,比如说用系统自带的微软消息队列MSMQ,收到数据之后把要显示的消息丢到队列里,让队列去自动触发显示在richtexbox上。看看效果怎么样,如果还是不行那就考虑一下多线程了,相关知识建议了解一下。
(注:其实数据量大的时候,显示出来也没什么意义了,建议考虑一下记录在文件里)
(注:其实数据量大的时候,显示出来也没什么意义了,建议考虑一下记录在文件里)
追问
richTextBox 数据更新没有问题,我是采用string 去累加的然后再赋值的,就是其他控件无法操作
追答
已经说过了,不能这样累加赋值,原因就不解释了,怎么处理也已经说的很清楚了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询