2009-05-29 105 views
0

可能不是雙緩衝,但我試圖使用RichTextBox製作熒光筆(純粹的娛樂)。我遇到的問題是,當有很多突出顯示的單詞時,程序員製作的閃爍顯示,甚至看到文本框滾動。如何在c#中緩衝RichTextBox的緩衝區?

我不認爲RichTextBox具有DoubleBuffered屬性,即使它有,它也不會說話,閃爍是我的錯。

回答

1
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

在更改顏色之前,只需在RichTextBox上使用LockWindowUpdate即可。

+2

你不想使用`LockWindowUpdate`。你想使用`SetWindowRedraw`。 LockWindowUpdate不是爲此目的而設計的。 (http://blogs.msdn.com/b/oldnewthing/archive/2004/06/10/152612.aspx) – 2011-12-29 00:19:51