如何在c#中双重缓冲RichTextBox?

时间:2009-05-29 03:36:55

标签: c# richtextbox

可能不是双缓冲,但我正在尝试使用RichTextBox制作荧光笔(纯粹娱乐)。我遇到的问题是,当有很多突出显示的单词时,会出现程序员制作的闪烁,甚至会看到文本框滚动。

我不认为RichTextBox具有DoubleBuffered属性,即使它有,也不会说,闪烁是我的错。

2 个答案:

答案 0 :(得分:2)

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似乎都会被删除。

答案 1 :(得分:1)

在更改颜色之前,只需在RichTextBox上使用LockWindowUpdate。