如何在使用计时器控制时将小时文本更改为分钟

本文关键字:文本 小时 分钟 控制 计时器 | 更新日期: 2023-09-27 18:27:06

我使用timer control显示考试剩余时间。我从数据库中访问时间(例如30分钟、1小时、2小时)。CCD_ 2显示在一个标签中,而CCD_。在30分钟内,我可以将其显示为30 min,并在60秒后递减,但如何在1小时和2小时内进行?我应该在数据库中存储1小时和2小时的值,以及当时间减少到分钟和time left = 0时,如何将小时更改为分钟。我如何发送它来完成按钮点击,目前我正在使用下面显示的代码

public partial class MarksExamStart : Form
{        
    int tik = 0;
    public MarksExamStart(string MarksSelected,string DurationID)
    {
        InitializeComponent();
        label1.Text = conf[2];//showing 30/1/2 in label1
        label2.Text = conf[3];//showing min/hr in label2                
        timer1.Interval = 1000;
        timer1.Start();
    } 
    private void timer1_Tick(object sender, EventArgs e)
    {
        if (sender == timer1)
        {
            tik++;
            if (tik == 60)
            {
                label1.Text = (Convert.ToInt16(label1.Text) - 1).ToString();//decrementing time here
                tik = 0;
            } 
        }
    }
}

如何在使用计时器控制时将小时文本更改为分钟

如果希望时间在一分钟内只勾选一次,则应将间隔设置为60 * 1000

如果您想显示测试的剩余时间,您可能不想使用简单的整数,而希望使用TimeSpan。在这里你可以阅读它,并看到如何显示它的例子

public partial class MarksExamStart : Form
{        
    int tik = 0;
    TimeSpan examTime;
    public MarksExamStart(string MarksSelected,string DurationID)
    {
        InitializeComponent();
        examTime = TimeSpan.FromMinutes(conf[3]); // If that's not double you'll need to parse it and make sure it's in the right format
        label1.Text = conf[2];//showing 30/1/2 in label1
        label2.Text = conf[3];//showing min/hr in label2                
        timer1.Interval = 60 * 1000;
        timer1.Start();
    } 
    private void timer1_Tick(object sender, EventArgs e)
    {
        if (sender == timer1)
        {
            if(examTime.TotalMinutes > 1)
            {
               examTime = examTime.Subtract(TimeSpan.FromMinutes(1));
               label1.Text = examTime.ToString();
            }
            else
            {
               timer.Stop();
               // Show the time ends message
            }
        }
    }  
}