刺繍の図案をデザインするためのアプリを
VB2005のExpress Editionで作ってます。(OSはXPSP2)

で、例えば1000x1000くらいのマス目を、フォーム上に表示して
色や縫い目のパターンを編集できるようなものを作っているのですが
こういう場合、どのようなコントロールを使うのがいいでしょうか?

ちなみに今は、フォーム上にピクチャーボックスを配置し、
それにpaintイベントでGraphics.DrawRectangleを使って、
しこしことマス目を1000x1000個Drawしているのですが
これだと、マスのサイズを変更したり、フォームをスクロールする度に
全てのマスを再描画するため、やたらと遅く使い物になりません。
再描画する範囲を限定して、見えてるところだけを・・・
と思ったのですが、これはこれで方法がわかりませんでした。

良い方法があったら教えてください。