【发布时间】:2017-05-12 08:25:36
【问题描述】:
我设置了一个计时器,但不知道如何通过使用按钮分别添加 10 秒、1 分钟和 10 分钟来添加时间。我不确定我是否设法让它正确倒计时,因为我从一个计时的计时器中复制了代码并试图反转它。任何帮助将非常感激。 这是我的代码:
int Ten_Sec = 10000;
int One_Min = 60000;
int Ten_Min = 600000;
System.Timers.Timer t ;
int hour, min, sec;
private void Form1_Load(object sender, EventArgs e)
{
t = new System.Timers.Timer();
t.Interval = 1000; //1sec
t.Elapsed -= OnTimeEvent;
}
private void Button_Ten_Sec_Click_1(object sender, EventArgs e)
{
Ten_Sec++;
}
private void Button_One_Min_Click_1(object sender, EventArgs e)
{
One_Min++;
}
private void Button_Ten_Min_Click_1(object sender, EventArgs e)
{
Ten_Min++;
}
private void OnTimeEvent(object sender, ElapsedEventArgs e)
{
Invoke (new Action(() =>
{
sec -= 1;
if (sec == 60)
{
sec = 0;
min -= 1;
}
if (min == 60)
{
min = 0;
hour -= 1;
}
textBox_Timer.Text = String.Format("{0},{1},{2}", hour.ToString().PadLeft(2, '0'), min.ToString().PadLeft(2, '0'), sec.ToString().PadLeft(2, '0'));
}));
}
【问题讨论】:
-
看起来您正在取消订阅 Form_Load 中的 OnTimeEvent...这是故意的吗?
-
老实说,这并不是我看到的用于制作计数计时器的代码
-
以我的回答为例。
-
@ephtee 如何防止计时器超过零(负)或让它让我在特定时间间隔执行操作?
标签: c# winforms visual-studio