C\#여러 개의 타이머 가 서로 다른 시간 을 기록 합 니 다.
1.타이머 클래스 정의,의뢰 정의
// Timer
System.Threading.Timer t3,t1,t2,t4;
//
public delegate void SetControlValue(object value);
2.초기 화
private void InitTimer()//
{
t1= new System.Threading.Timer(new TimerCallback(T1), null, Timeout.Infinite, 1000);
t2 = new System.Threading.Timer(new TimerCallback(T2), null, Timeout.Infinite, 1000);
t3 = new System.Threading.Timer(new TimerCallback(T3), null, Timeout.Infinite, 1000);
t4 = new System.Threading.Timer(new TimerCallback(T4), null, Timeout.Infinite, 1000);
}
3.타 이 밍 시간 이 다 르 기 때문에 서로 다른 정형 변 수 를 정의 할 때,분,초:
//
int hour = 0;
int minute = 0;
int second = 0;
//
int hour2 = 0;
int minute2 = 0;
int second2 = 0;
//
int hour3 = 0;
int minute3 = 0;
int second3 = 0;
//
int hour4 = 0;
int minute4 = 0;
int second4 = 0;
4.시간 실행 방법 및 출력:
private void T4(object state)// T
{
try
{
second4++;
if (second4 == 60)
{
minute4++;
second4 = 0;
}
if (minute4 == 60)
{
hour4++;
minute4 = 0;
}
this.Invoke(new SetControlValue(S4), second4);
this.Invoke(new SetControlValue(S4), minute4);
this.Invoke(new SetControlValue(S4), hour4);
}
catch
{
}
}
private void S4(object value)
{
textBox4.Text = hour4.ToString() + " " + minute4.ToString() + " " + second4.ToString() + " ";
}
private void T2(object state)
{
try
{
second2++;
if (second2 == 60)
{
minute2++;
second2 = 0;
}
if (minute2 == 60)
{
hour2++;
minute2 = 0;
}
this.Invoke(new SetControlValue(S2), second2);
this.Invoke(new SetControlValue(S2), minute2);
this.Invoke(new SetControlValue(S2), hour2);
}
catch
{
}
}
private void S2(object value)
{
textBox2.Text = hour2.ToString() + " " + minute2.ToString() + " " + second2.ToString() + " ";
}
5.타이머 의 실행 과 정지,각각{당신 이 정의 한.change(0,1000)},{당신 이 정의 한.change(0,1000)}로 표시 합 니 다.예 를 들 어:
t1.Change(0, 1000);
t1.Change(Timeout.Infinite, 1000);
6.효과 도:이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.