카운트 다운 타이머를 기반으로하는 스크립트가 있습니다. 시간이 0에 도달하면 타이머가 멈추고 메시지가 나타납니다. 코드 ID이 : 카운트 다운 타이머가 0인지 확인하십시오.
public partial class simulare : Form
{
private admin admin;
Timer timer = new Timer();
public simulare(admin admin)
{
InitializeComponent();
this.admin=admin;
label2.Text = TimeSpan.FromMinutes(0.1).ToString();
}
private void simulare_Load(object sender, EventArgs e)
{
var startTime = DateTime.Now;
timer = new Timer() { Interval = 1000 };
timer.Tick += (obj, args) =>
label2.Text = (TimeSpan.FromMinutes(0.1) - (DateTime.Now - startTime)).ToString("hh\\:mm\\:ss");
timer.Enabled = true;
timer.Start();
if (condition)
{
timer.Stop();
MessageBox.Show("Done!");
}
}
}
내가 그 조건을 시도했지만 실패 :
if (timer.ToString() == TimeSpan.Zero.ToString())
if (label2.Text.ToString() == TimeSpan.Zero.ToString())
if (label2.Text == TimeSpan.Zero)
에 동일 경우 다음 확인, 계산을 추출하고 시간 범위 변수에 결과를 할당 할 수 있습니다 .. ? 'Timer timer = new Timer();'메소드 바깥 쪽을 'Timer timer;로 바꾼다. 가독성을 위해 쉽게 따라 할 수 있도록 ... 코드를 디버깅 해 봤어? – MethodMan
'시간이 0에 도달하면'은 무엇을 의미합니까? 타이머가 매 초마다 똑딱 거리고 레이블을 업데이트 중입니다. – Jonesopolis
예. 조건으로'if (timer.ToString() == TimeSpan.Zero.ToStrin())'을 사용하면 에러가 발생합니다 : 스레드 0x17a4가 코드 259 (0x103)로 종료되었습니다. – dpaul1994