tcbxh
tcbxh
2015-01-04 16:04
采纳率: 57.1%
浏览 2.0k
已采纳

C# Timer控件可以共用吗?

想做一个考试系统
进来考试的人是随时都可以进来的。
也就是说,每个人进来,都要在系统里面登记,同时设定一个时间,比如2小时,到时间了系统自动提醒。
想用Timer控件来做,但是Timer控件可以共用吗?有点不明白,请大虾们指导一下~~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • findcaiyzh
    宝_爸 2015-01-04 22:54
    已采纳

    一个Timer只能定一个时间,但是可以用你自己的算法 实现公用。

    例如,用户登录的时候把登录时间保存起来(保存在数据库或者内存中都可以);
    timer设置没一分钟激发一次,在Elapsed event中依次计算登录用户的登录时间(当前时间减去记录的登录时间)。
    如果有用户超过2小时,提醒。

    点赞 评论
  • caozhy

    这里用一个timer足够了,记录下每个人的登录时间,timer判断当前时间减去登录时间是否超时,超时通知那个用户即可。

    点赞 评论
  • 91program
    91program 2015-01-04 23:25

    Timer 记得的准确性好像不行,特别是累加记时时,累加次数较多时会产生较大的误差。
    但还是可以使用 Timer 的,每次 Timer 时读系统的时间, 这样就不会有问题。

    每个人登陆时,记下其登陆时的系统时间,与当前时间做差值就能完成时间的判断。

    点赞 评论
  • save4me
    save4me 2015-01-06 01:48

    你的程序的这个Timer的作用我觉得不是用来记录每个考生的时间是否结束,而是用来触发另外一个定时去检查每个考生的考试时间的方法。
    就像考场可以只在讲台上放一个钟(Timer),每个学生进来,老师记录一下他们的进场时间(系统登记)。之后,老师定时看看时间(Timer Tick事件,触发时间比较的方法),再更进场记录对比一下(学生考试时间比较调用的方法),就知道哪个学生是否考试时间到了,如果到了,就收卷(比较结果为时间已到,触发相应的方法,比如收卷)。

    点赞 评论

相关推荐