可能不是双缓冲,但我试图使用RichTextBox制作荧光笔(纯粹的娱乐)。我遇到的问题是,当有很多突出显示的单词时,程序员制作的闪烁显示,甚至看到文本框滚动。如何在c#中缓冲RichTextBox的缓冲区?
我不认为RichTextBox具有DoubleBuffered属性,即使它有,它也不会说话,闪烁是我的错。
可能不是双缓冲,但我试图使用RichTextBox制作荧光笔(纯粹的娱乐)。我遇到的问题是,当有很多突出显示的单词时,程序员制作的闪烁显示,甚至看到文本框滚动。如何在c#中缓冲RichTextBox的缓冲区?
我不认为RichTextBox具有DoubleBuffered属性,即使它有,它也不会说话,闪烁是我的错。
int pos = myTextBox.SelectionStart;
RichTextBox buffer = new RichTextBox();
buffer.Rtf = myRichTextBox.Rtf;
//Do whatever you wanna do in buffer
myTextBox.Rtf = buffer.Rtf;
myTextBox.SelectionStart = pos;
myTextBox.SelectionLength = 0;
钍,我仍然有一个问题,因为,无论我做什么,myTextBox.ZoomFactor似乎被删除。
在更改颜色之前,只需在RichTextBox上使用LockWindowUpdate即可。
你不想使用`LockWindowUpdate`。你想使用`SetWindowRedraw`。 LockWindowUpdate不是为此目的而设计的。 (http://blogs.msdn.com/b/oldnewthing/archive/2004/06/10/152612.aspx) – 2011-12-29 00:19:51