1

スレッドを使用して PictureBox から画像に複数の楕円を描画しようとしていますが、フォームを操作する (移動するなど) と、GDI は InvalidOperationException (現在使用中のオブジェクト) をスローし、現在の画像を複製します。スレッド。

私が達成しようとしているのは、キャンバス上でいくつかの形状をアニメーション化できるようにし、ユーザーがフォームとやり取りしながらスムーズな体験をできるようにすることです (画像のズームインなど)。

これを達成するための最良の方法は何ですか?

4

2 に答える 2

1

バックグラウンド スレッドがやり取りする別の画像を保持し、表示する新しいものがある場合は、それを UI スレッドに複製します。複製は、BeginInvoke を介して行う必要があります。

于 2012-11-28T05:10:30.280 に答える
1

PictureBox を操作する前に、おそらく BeginInvoke を呼び出して GUI スレッドに入る必要があります。

そのようです...

form.BeginInvoke(ManipulatePictureBox);
于 2012-11-28T04:57:37.183 に答える