0

タイマー (timer1) が作動したときに、イベントを使用してボールをアニメーション化しようとしています。

ここまで書いてきました。問題は、ボールが 1 回だけ更新されることと、「新しい」ボールが表示されるたびに「前の」ボールが消えることです。

  protected override void OnPaint(PaintEventArgs e)
    {           
        SolidBrush Brush = new SolidBrush(Color.White);
        g.FillEllipse(Brush, 100+a, k, 15, 15);                   
    }

  public void timer1_Tick(object sender, EventArgs e)
    {
        a += 1;
        k += 2;
        if (a >= 1000)
        {
            timer1.Stop();
        }
    }

私はそれが基本的な問題であることを知っており、どこかで Invalidate を使用する必要があることを知っています。方法がわかりません。

4

1 に答える 1

2

タイマー イベントでは、再描画が必要であることを Windows が認識できるように、コントロールを無効にする必要があります。

于 2013-06-03T12:45:28.797 に答える