PDA に地図を表示する .NET Compact Framework アプリケーションをプログラミングしています。
全体図を構成するこのコンポーネントのいくつかを使用して、マップ全体の独自の部分を描画するアドホック コンポーネントを作成しました。1 つのステップでマップ全体をペイントする際の待ち時間を避けるために、このようにしました。
ここでやりたいことは、この部分を独自のスレッドにペイントして、マップが 1 つのエンティティとして成長しているように見せ、(さらに重要なことに) ユーザー インターフェイスの残りの部分がフリーズしないようにすることです。
マップの各部分が onPaint メソッドでペイントされていることを正しく知っています。私の考えは、どういうわけか、システムに「このコードをスレッドで実行してください」と伝えることです。
何かのようなもの:
protected override void OnPaint(PaintEventArgs e)
{
// <code to be executed in a thread>
e.Graphics.paintTHis();
e.Graphics.paintThat();
whateverItTakesToPaintThisPieceOfTheMap();
// </code to be executed in a thread>
}
これを行う方法を知っていますか?それとも私のアプローチは単に間違っていますか?
御時間ありがとうございます!