c# - 检查倒计时器是否为0

标签 c# if-statement timer timespan

我有一个基于倒计时器的脚本。我希望当时间达到 0 时,计时器停止并出现一条消息。代码 ID 是这样的:

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)

最佳答案

您可以提取计算并将结果分配给 TimeSpan 变量,然后检查该 TimeSpan 变量中的秒是否等于零

void simulare_Load(object sender, EventArgs e)
{
    var startTime = DateTime.Now;
    timer = new System.Windows.Forms.Timer() { Interval = 1000 };
    timer.Tick += (obj, args) =>
    {
        TimeSpan ts = TimeSpan.FromMinutes(0.1) - (DateTime.Now - startTime);
        label1.Text = ts.ToString("hh\\:mm\\:ss");
        if (ts.Seconds == 0)
        {
            timer.Stop();
            MessageBox.Show("Done!");
        }
    };
    timer.Start();
}

关于c# - 检查倒计时器是否为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27804280/

相关文章:

c# - 发生 "Ensure Event Failed"错误

具有范围输入值的 Javascript 条件语句

javascript - 如何在 javascript if 条件函数中声明控制台日志

java - 使用 onKeyReleased 事件创建搜索引擎的用途

javascript - 从 List<string> C# 填充 JS 数组

c# - 多线程: Value and Reference types

c# - 基于 bool 方法的自定义 MVC4 验证

r - 比较两列并更改第三列时如何使用 ifelse?

javascript - 循环 Javascript 计时器

javascript - JavaScript 中的类变量和 setInterval