2011-04-09 3 views
1

0에서 3까지 카운터를 실행하려면 타이머가 필요합니다. 시각적 기본 2008의 도구 상자에서 타이머를 추가했습니다 (개체를 만들고 속성을 사용하는 대신). winform ..타이머 (winforms)

 int timerCounter; 
    private void animationTimer_Tick(object sender, EventArgs e) 
    { 
     //timer should go 0,1,2,3..and then reset 
     while (true) 
     { 
      timerCounter++; 
      if (timerCounter > 3) 
      { 
       timerCounter = 0; 
      } 
      game.Twinkle(); 
      //screen gets repainted. 
      Refresh(); 
     } 



    } 

타이머가 작동합니까? (활성화하고 33 밀리 초로 설정)

+0

확률은 약 99 %입니다. 다음 번에 확실하게 답변 할 수있는 질문을하십시오. –

+0

직접 해보 시지 않겠습니까? "일하다"는 것은 무엇을 의미합니까? 당신에게 중요한 것은 무엇입니까? 작동하는지 어떻게 알 수 있습니까? 정밀도는 중요합니다. – vidstige

+0

문제는 내가 절반 코드가 작동한다는 것입니다 ... 그리고 그것은 큰 코드의 작은 조각입니다 ... 나는 디버깅 시간을 피하려고 노력 중입니다 –

답변

1

타이머의 간격을 1000ms 또는 1 초로 설정하십시오. 그런 다음 활성화하면 간격을 지날 때마다 timer1_tick 이벤트가 발생하면서 계속 켜집니다.

int count = 0; 
private void timer1_Tick(object sender, EventArgs e) 
{ 
    count++; 

    if (count == 3) 
    { 
     //Do something here, because it's the third toll of the bell. 

     //But also reset the counter after you're done. 
     count = 0; 
    } 
} 

는 타이머를 .Enable하는 것을 잊지 마세요 :

여기에 그것을 수행하는 방법에 대한 예입니다!

+0

while 루프가 필요하지 않습니까? ... –

+0

@Dmitry : No, 타이머가 활성화되면'.Enabled = false'가 될 때까지 폼에서 계속 실행됩니다. –

+0

괜찮습니다. 크리스털 클리어. 고맙습니다 –