永发信息网

C# Windows程序设置timer控件应用

答案:2  悬赏:60  手机版
解决时间 2021-05-06 21:28
  • 提问者网友:我们很暧昧
  • 2021-05-06 10:08
对一道考试程序题目进行修改(以写好),使其必须在60分钟内完成,并显示剩余时间。要求还有5分钟用messagebox提示还有5分钟考试结束,停止计时,单击确定后继续计时。当时间结束时,自动提交试卷。
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-05-06 11:01


以上是Timer的属性


以下是Timer的Tick事件




#region 时间事件
int dtStartTime = DateTime.Now.Minute; //开始时间,获得当前时间的分钟数
int dtEndTime = 0; //结束时间
bool isFirst = true; //是否是第一次进入
/// <summary>
/// 时间控制器
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{
dtStartTime += 1; //记录时间
if (isFirst)
{
dtEndTime = dtStartTime + 60; //结束时间
isFirst = false;
}
this.label1.Text = (dtEndTime - dtStartTime).ToString(); //显示时间


if ((dtEndTime - dtStartTime) == 5) //如果还有五分钟
{
timer1.Stop(); //暂停计时器
if (DialogResult.OK == MessageBox.Show("还有5分钟考试结束!")) //提示信息
timer1.Start();//如果点了确定则启动计时器
}
else if ((dtEndTime - dtStartTime) == 0) //时间到了,提交
{
//SubmitAnswer(); //此处为提交防范
}
}
#endregion


全部回答
  • 1楼网友:青尢
  • 2021-05-06 12:00

timer设置成enable

首先记录下界面打开的时间 st

在timer的Tick事件中 判断当前时间和st之关的差 如果等于55分钟 就弹出

取时间差的办法:

TimeSpan ts = DateTime.Now.Subtract(st);

ts.TotalMinutes就是分钟差

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯