2012-02-08 5 views
3

私はF#でダブルバッファリングを実装しようとしています。私が実行しているすべての例はC#です。F#でのダブルバッファリング:フリッカーとは何ですか?

let r = form.DisplayRectangle 
    let buffer = new Bitmap(r.Width,r.Height) 
    form.DrawToBitmap(buffer,r) 
    form.BackgroundImage <-buffer 
    form.Invalidate() 

問題は「簡単な」修正ですが、プライベート変数はF#では公開されていません。代わりに、私はC#でフォームを初期化する必要があります。 F#のフォームのプライベート変数を公開する方法(これは些細なことだと思われる)が必要です。

+1

あなたは大幅にあなたの質問の意味を変え、多くの編集を提出されているように見えるん。これは既に質問に答えた人にとって公平ではないことに注意してください。誰かがあなたの質問に答えなかったと思われるので、誰かが答えを出して下に来るかもしれないからです。 –

答えて

4

form.DoubleBuffered <- true 

を行い、その後フリッカ

+1

問題:ダブルバッファが表示されず、コンパイラはそれがプライベート変数であると言う... – user1111

+0

'System.Windows.Forms.Form' [間違いなく](http://msdn.microsoft.com/en/ '-B ')' DoubleBuffered'プロパティ... –

+4

'Form'の上に薄いラッパーを作成し、それをコンストラクタで上書きするのが最も簡単です –

関連する問題