【发布时间】:2016-05-02 13:41:15
【问题描述】:
注意:这个问题也与这个问题有关
我有一个计时器,该计时器由一个按钮激活,该按钮开始对假定活动进行倒计时。但是我有一个问题,当我再次按下同一个按钮时,程序必须使用另一个时间(在数据网格中指定)并再次开始倒计时,如果我再次按下按钮,另一个时间等等。
我应该使用多个计时器还是有办法可以使用同一个计时器,但如果我按下按钮则使用新的(“重置”)值?
(如果你们想让我展示更多代码,请告诉我,我会在这里发布)
private bool timeSet2 = false;
int f = 1;
private void timer3_Tick(object sender, EventArgs e)
{
DateTime timeConvert;
DateTime dateTime = DateTime.Now;
string timeOp = dataGridView1.Rows[f].Cells[2].Value + "";
f++;
if (!timeSet2) // only get the value once
{
DateTime.TryParse(timeOp, out timeConvert);
milliSecondsLeft = (int)timeConvert.TimeOfDay.TotalMilliseconds;
timeSet2 = true;
}
milliSecondsLeft = milliSecondsLeft - 1000;
if (milliSecondsLeft > 0)
{
var span = new TimeSpan(0, 0, 0, 0, milliSecondsLeft);
lblLeft.Text = span.ToString(@"hh\:mm\:ss");
}
else
{
timer3.Stop();
}
我需要在这里设置一个按钮,所以如果我按下它,我的程序将开始另一个倒计时。但我不知道我是否需要为此创造另一个时间。
【问题讨论】:
-
你用的是什么定时器?大多数(全部?)计时器都可以让您更改它们的间隔。例如,Windows 窗体计时器有一个 Interval property,您可以更改它。
-
@MatthewWatson 我正在使用最常见的计时器,人们用它来以他们的形式做时钟,间隔为 1000 毫秒。
标签: c# winforms variables button timer