C# Timer控件可以共用吗?

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

4个回答

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

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

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

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问