>>450
コントロールのクライアント領域の再描画はControl.Invalidate等を呼んで
無効化するのが基本。(等と書いたのは似たようなメソッドが複数あるから。
その辺の事情はDobonさんとか見て)

OnPaintはシステムからコールバックされるもので、基本的にはユーザーコードから
呼ぶものじゃない。

途中経過をどう表示に反映するかについては、タイマーで一定時間ごとに
Control.Invalidate呼ぶのが一番単純で分かりやすくないかね。

途中結果がプロパティで取得できるようになってればOnPaintでそれを読んで描画するだけだ