>>960
コントロールのイベント使うな、っていうのは無駄な再描画対策じゃなくて設計論ね
そういう設計だと、例えばプログラムで倍率を変更しても再描画されないよね。
まあ余計なお世話だよねw

Application.Idleは例えばこうやって使う

bool DrawOnIdle {get; set;}

void Application_Idle(object sender, EventArgs e}
{
  if (DrawOnIdle) redraw();
  DrawOnIdle = false;
}