2009-05-29 26 views
0

おそらくダブルバッファリングではありませんが、私はRichTextBoxを使ってハイライト(純粋なアミューズメント)を作ろうとしています。私が持っている問題は、ハイライトされた単語がたくさんあるときに、プログラマーが作成したちらつきが現れ、さらにテキストボックスのスクロールが見えるということです。RichTextBoxをC#でダブルバッファリングする方法は?

私は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) –

関連する問題