내가 문자열을 검색하고 세 가지 시나리오가있는 Windows Form 응용 프로그램 만들려고 해요 전에 발사한다 : - 대기 발견 타이머 경과 간격
- 문자열 1을 중지 그렇지
- - 조치를 수행하고이를 기다려야 할 것으로 예상 될 때 나는 시간 만에 내 문제가 발생하고 일분
을 기다립니다. 이 경우 newTimer_Tick이 1 초마다 똑딱 거리기 시작합니다. 내가 틱 때 타이머를 비활성화하려고 시도하고 다른 것들이 있지만 아무도 작동하는 것처럼 보였다. 다음은 코드입니다.
public void Action(string result)
{
if (result.Contains("string1"))
{
// Check again in 10 + x seconds
int n = new Random().Next(0, 5000);
int newtime = 10000 + n;
newTimer.Tick += new EventHandler(newTimer_Tick);
newTimer.Interval = newtime;
newTimer.Enabled = true;
}
else if (result.Contains("string2"))
{
// Turn off
newTimer.Enabled = false;
}
else
{
// Perform action and tick again in 1min + x seconds
action1();
int n = new Random().Next(0, 5000);
int newtime = 600000 + n;
newTimer.Tick += new EventHandler(newTimer_Tick);
newTimer.Interval = newtime;
newTimer.Enabled = true;
}
}
private void newTimer_Tick(object sender, EventArgs e)
{
Action(result);
}
내가 잘못 했습니까?
타이머가 1 초마다 실행될 때 - 간격 값은 무엇입니까? –
int가 아닌 시간 값을 나타낼 때'TimeSpan'을 사용하십시오. 그렇게하면 단위 모호성을 피할 수 있습니다 (초, 밀리 초, 시간, 틱, ...) – jv42