gpt4 book ai didi

c# - .Net 中的大容量、高速文本框

转载 作者:可可西里 更新时间:2023-11-01 13:29:04 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它将以高达 250kb/sec 的速率显示串行/USB 数据。我正在使用 .net SerialPort 类并对 DataReceived 使用react事件。对于该软件的早期实现,我只是将传入数据存储在 WinForms RichTextBox 中。 。在控件中有 50k - 100k 行 之前,此解决方案工作正常,此时应用程序停滞不前。从那以后,我尝试用 WPF 实现我的目标,但发现了同样的问题。有一次,我尝试只保留文本框中的当前可见文本,并将其余部分存储在List<string> 中。 但这个解决方案需要大量的变通办法,最终被放弃了——我不想重新发明轮子

现在我来找你是为了一线希望 - 我愿意尝试任何事情!我是否应该使用自定义控件(付费和免费控件均受欢迎)? SQLite虚拟化如上所述?我应该尝试轮询 SerialPort 而不是对事件使用react吗?

最佳答案

使用线程读取数据,直接写入文件。让您的应用经常刷新文件中的最后 x 行。甚至可能根据来自读者线程的通知进行刷新?

通过使用多线程,您可以保持 UI 响应,通过直接写入文件,您可以确保收集到所有数据。此外,它还允许您暂停显示足够长的时间,以便在继续捕获数据的同时实际复制/粘贴您想要的数据。

也许您可以实现您自己的文件阅读器类型,允许用户通过一次只加载您实际可以在屏幕上显示的部分来“滚动”文件。

关于c# - .Net 中的大容量、高速文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com