timer本身不受程序主线程影响,和一个异步线程结果是一样的,考虑的阻塞,所以不能时间一定就直接在原来时间基础上加上时间间隔,而是每次都取当前系统时间,这样就不会产生误差积累,同样,即是有了异步线程,如果主线程运算量大或者等待数据也会造成阻塞,因此,最明智的办法就是在响应timer事件时,获取当前系统时间(如果是网络版应该获取网络时间,如SQL数据库中可以用select getdate()获取),例如显示时钟时,在timer事件中用ShowDateTime(DateTime.Now),而不是CurDateTime=CurDateTime.AddSeconds(1)。
解决方案 »
- 高斯消元 求四元!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 导出Word中,代码控制焦点的问题 顶者有分
- 图像的几何变换 来高手
- C# word的一些操作问题
- 这个sql语句和存储过程怎么写?
- 如何在excel中 复制某几行 然后确定位置 把选定的几行插入进去呢
- 刚接触C#, 求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 超古怪的错误消息
- 拿分20
- 为什么最近问了问题都不给分呢?。。。
- 如何添加axShockwaveFlash控件?
- (在线)高分求在C#web中如何里实现Datagrid的打印预览和打印?
但是有没有可能使我想实现一个异步线程的时钟放在界面上,然后使这个线程的优先级高过主线程?