2013-06-03 83 views
0

我試圖在定時器(timer1)打勾時使用事件來使球動畫。動畫更新

這是我迄今寫的。問題在於球只有一次出現,而且我希望每當出現「新球」時,「漂亮」球就會消失。

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(); 
     } 
    } 

我知道這是一個基本問題,我知道我需要使用無效的地方。我只是不知道如何。

+0

因爲您沒有在定時器中調用FillEllipse函數,所以它只需要初始值,並且不會在後面繪製 – NDraskovic

+1

您需要使用的方法具有您在問題中使用的名稱。調用Invalidate()。 –

回答

2

在計時器事件中,您需要Invalidate控件,以便Windows知道它需要重新繪製。

+0

謝謝!很多appriciated – Frostbite