今 c#でブロック崩しを作っています
そこでTimers.Timerを使ってx座標を変数dx分動かす(yも同じ)描画処理をしているのですがOnPaint関数を呼び出そうとするとエラーが起きます
エラーを調べてはみたんですがc#初心者でよくわかりませんでした...
どうすれば良いですか
c#
1 public static void Main() 2 { 3 timer1 = new System.Timers.Timer(); 4 5 timer1.Interval = 10.0; 6 timer1.Elapsed += onTimer; 7 timer1.Enadled = true; 8 Application.Run( new test() ); 9 } 10 11 public static void onTimer(object sender , ElapsedEventArgs e) 12 { 13 Invalidate(); 14 15 if( x + dx <= 0 || x + dx >= canvaswidth - 12 ) 16 { 17 dx = -dx; 18 }else if( y + dy <= 0 || y + dy >= canvasheight - 12 ) 19 { 20 dx = -dx; 21 } 22 23 x+=dx; 24 y+=dy; 25 26 if( Keydownr && x >= 0 && x <= canvaswidth - paddrewidth ) 27 { 28 paddrex-=4; 29 }else if( keydownl && x >= 0 && x <= canvaswidth - paddrewidth ) 30 { 31 paddrex+=4; 32 } 33 } 34
エラーコード↓
error CS0120 : An object reference is required for the non-staticfield, method, or property 'System.Windows.Forms.Control.Invalidate()'c:\Windows\Microsoft.NET\Franework\v4.030319\System.Windows.Forms.dll:(Locarion symbol related to previous error)
回答1件
あなたの回答
tips
プレビュー