2016-06-21 3 views
0

リアルタイムアプリケーション用にWindowsアプリケーションを開発しています。私はそれに応じて私は3でパネルを移動したい、ここでC#windowsアプリケーションで3つのパネルをちらつきなくスムーズに移動する方法

Lclone = (System.Drawing.Image)imagedata.Clone(); 
pictureBox1.Invoke((MethodInvoker)(() => pictureBox1.Image = Lclone)); 

imagedataはビットマップで、pictureboxpictureboxでそれを示すことはパネルであり、次のようにpictureboxを使用してwhileループ内のラインで画像ラインを示すいますイメージローリング効果&私はすでにそれをしていましたが、それは私にちらつき効果を与え、私はこの動きを円滑にしたい。

どうすればいいですか?

+0

winformsでは滑らかで滑らかな動きはできませんが、フリッカーは避けられます。私たちにいくつかの数字を教えてください:あなたはそれをどのくらい頻繁に呼びますか?イメージの大きさはどれくらいですか?また、このコードはどのように移動しますか? – TaW

答えて

0

外部からアクセスできるかどうかわかりませんが、DoubleBuffered = trueを画像ボックスに設定してみてください。アクセスできない場合は、DoubleBufferedプロパティを設定したpictureboxを継承する独自の子クラスを作成する必要があります。

+0

ピクチャボックスはデフォルトでダブルバッファされています。パネルをサブクラス化せずにダブルバッファすることはできません – TaW

関連する問題