2014-10-09 1 views
0

내가 numericUpDown1이 그 나는 그것이 옵션 텍스트 파일의 값을 저장하는 것 값 설정하는 경우 : Form1에 디자이너 1000MS로 설정타이머를 초 단위로 다시 변환하여 분과 초 단위로 다시 계산하려면 어떻게해야합니까?

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
     { 
      Options_DB.Set_Radar_Images_Time(numericUpDown1.Value); 
     } 

타이머 1의 간격을. 타이머 1 틱 이벤트에서

나는이 : label21.Text 및 카운트 다운 분을 표시합니다

private void timer1_Tick(object sender, EventArgs e) 
     { 
      numbers_radar = Convert.ToInt64(numericUpDown1.Value); 
     } 

가 지금은에 타이머 틱 이벤트를 할당 할. numericUpDown1을 10으로 설정하면 10 분 카운트 다운됩니다.

형식은 분 : 초 (00:00)와 같아야합니다.

타이머가 1이 될 때마다이 메서드를 호출해야합니다. fileDownloadRadar(); 1이 될 때마다 타이머가 numericUpDown1 값으로 재설정되고 끝에 다시 계산할 때마다 끝에서 매회마다 fileDownloadRadar() 메서드를 호출해야합니다.

numericUpDown1 편집

60

지금 나는이 코드를 시도했지만 타이머를 시작할 때 내가 label21에 어떤 변화를 보이지 않는 최소 5로 설정하고 최대된다. 분은 0으로 시작하지만이 경우 29 (numericUpDown1 값) 여야합니다.

분 및 초 == 1 또는 == 0인지 확인해야합니까? 논리 1 또는 0은 무엇입니까?

private void timer1_Tick(object sender, EventArgs e) 
     { 
      numOfMinutes = Convert.ToInt32(numericUpDown1.Value); 
      int seconds = numOfMinutes % 60; 
      int minutes = numOfMinutes/60; 
      seconds --; 
      string time = minutes + ":" + seconds; 
      label21.Text = time; 
      if (seconds == 1) 
      { 
       minutes --; 
      } 
      if (minutes == 1 && seconds == 1) 
      { 
       numOfMinutes = Convert.ToInt32(numericUpDown1.Value); 
       fileDownloadRadar(); 
      } 
     } 

답변

1

여러분은 TimeSpan 개체를 더 잘 사용할 수 있고 다음과 같이 시작할 수 있다고 생각합니다. 당신의 타이머에서

timer1.Start(); // this should exist somewhere 
TimeSpan span = new TimeSpan(0, numericUpDown1.Value, 0); 

:

private TimeSpan span; 

그냥 당신이 타이머를 시작 코드 아래, 스팬 변수를 초기화 :

는 개체의 시간 범위 변수 (따라서 개인 필드) 선언 이벤트 처리기, 코드 작성 :

private void timer1_Tick(object sender, EventArgs e) 
{ 
    span = span.Subtract(new TimeSpan(0, 0, 1)); 
    label21.Text = span.ToString(@"mm\:ss"); 

    if (span.TotalSeconds < 1) 
    { 
     span = new TimeSpan(0, numericUpDown1.Value, 0); 
     fileDownloadRadar(); 
    } 
} 

if stateme에서 원하는 항목을 잘 모르겠습니다. NT,하지만 더 도움이되기를 바랍니다.

관련 문제