c#将大字符串粘贴到RichtextBox时发生延迟

时间:2016-07-30 08:46:55

标签: c# richtextbox paste large-data

  • 观察问题

我是c#的初学者,我程序中的一个RichTextBox旨在显示/输入可能包含大量字符的文章。

但是,如果将大量内容粘贴到RTB中,程序会冻结(类似于从大文本文件加载)。看起来RTB本身足以容纳整篇文章,唯一的问题是当一大块巨大的字符串通过剪贴板/文件直接添加到RTB时。

  • 尝试解决问题:

Text_Changed事件:永远不会奏效。似乎只有在加载字符串后才会触发事件。

因此,我尝试将字符串放入缓冲区并在将整个字符串粘贴到RTB之前以小块的形式重复读取RTB,因此我尝试捕获粘贴操作。

但是,有些覆盖WndProc以捕获WM_Paste的解决方案不适用,因为WM_Paste不能用于RTB。 因此,我现在唯一的方法是禁用RTB的快捷方式,并通过paste()模拟粘贴行为并捕获ctrl + v的keyevent,这显然是天真的,我相信必须有一些实用的解决方案。

或许通过在小块中加载大字符串来解决问题的整个想法都是错误的?

非常感谢。

0 个答案:

没有答案