我是c#的初学者,我程序中的一个RichTextBox旨在显示/输入可能包含大量字符的文章。
但是,如果将大量内容粘贴到RTB中,程序会冻结(类似于从大文本文件加载)。看起来RTB本身足以容纳整篇文章,唯一的问题是当一大块巨大的字符串通过剪贴板/文件直接添加到RTB时。
Text_Changed事件:永远不会奏效。似乎只有在加载字符串后才会触发事件。
因此,我尝试将字符串放入缓冲区并在将整个字符串粘贴到RTB之前以小块的形式重复读取RTB,因此我尝试捕获粘贴操作。
但是,有些覆盖WndProc以捕获WM_Paste的解决方案不适用,因为WM_Paste不能用于RTB。 因此,我现在唯一的方法是禁用RTB的快捷方式,并通过paste()模拟粘贴行为并捕获ctrl + v的keyevent,这显然是天真的,我相信必须有一些实用的解决方案。
或许通过在小块中加载大字符串来解决问题的整个想法都是错误的?
非常感谢。