时间:2019-03-17 标签:c#richtextboxoutofmemory

标签 c# size richtextbox out-of-memory

我编写了一个应用程序,可以读取传入的聊天内容(有点像即时通讯工具),对其进行格式化并将其插入到 Richtextbox 中。如果您让程序运行足够长的时间,您将收到内存不足错误。查看我的代码后,我认为这是因为我从未修剪 Richtextbox。我遇到的问题是我不想调用clear(),因为我不希望可见文本消失。我在想也许我应该保留一个最大大小为 200 行的列表。该列表将保留最近的聊天记录。如果聊天日志变得很大,请调用clear并重新插入最后200行。然而,在我实现这个想法之前,我会问是否有人知道更好的解决方案。有什么想法吗?

最佳答案

我可能会执行以下操作:

  1. 捕获 RichTextBox.TextChanged 事件
  2. 在处理程序中,检查行数 (RichTextBox.Lines.Length)
  3. 如果这超出了最大值,请删除第一个。

祝你好运!

关于时间:2019-03-17 标签:c#richtextboxoutofmemory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4642786/

相关文章:

c# - 将 XML 字符串发送到 WCF 时出现 "The maximum string content length quota (8192) has been exceeded while reading XML data"错误

c# - 如何发送多部分响应?

c# - 为什么 ContextMenu Command 和 CommandParameter 在 DataGrid 中不起作用

file - 响应传输文件

c# - :'Unable to connect to any of the specified MySQL hosts.' 错误

.net - 各种 CLR 运行时有多大?

QTreeView中间列填充宽度空间而不是最后一列

c# - XNA 游戏启动的表单中带有 RichTextBox.ScrollToCaret 的 AccessViolationException

c# - 如何将滚动条向上移动一行? (在 C# RichTextBox 中)

javascript - 具有 Gmail 风格拼写检查功能的富文本编辑器