首页 新闻 会员 周边 捐助

请问一下c#把timer先暂停的代码是什么,我写了一个没停,这个bug改了好久,求教

0
[已解决问题] 解决于 2018-11-30 13:16

首先效果是这样的

倒计时进行的时候我断网,写在try catch里了,我断网了有异常了应该走到catch了

,但是这个倒计时没停,隔了一会,走到负数了,而且catch里边写的隐藏的也都没有隐藏

问题补充:

补全一下代码

TS朝暮的主页 TS朝暮 | 初学一级 | 园豆:10
提问于:2018-11-29 16:30
< >
分享
最佳答案
0

你应该是用的System.Windows.Forms.Timer,也可以用 timer.Enabled=false;来停止。timer.Enabled=true;来启动。打几个断点好好调试下吧,从你的描述来看,程序貌似没有跑到catch里面。

奖励园豆:5
BURNINGLXT | 菜鸟二级 |园豆:214 | 2018-11-30 09:28

嗯嗯,有道理我尝试着解决了,谢谢你帮我看问题很感谢

TS朝暮 | 园豆:10 (初学一级) | 2018-11-30 10:43
其他回答(3)
0

你确定断网了会进catch?

梦里的畅泳 | 园豆:159 (初学一级) | 2018-11-29 16:42

诶??这个问题,断网就是异常吧,我是这么理解的,因为我要连接webservice,从数据库取值

支持(0) 反对(0) TS朝暮 | 园豆:10 (初学一级) | 2018-11-29 16:58
0

把代码贴全

jqw2009 | 园豆:2341 (老鸟四级) | 2018-11-29 17:30

OK,我截图了一下,这是整个timer

支持(0) 反对(0) TS朝暮 | 园豆:10 (初学一级) | 2018-11-29 17:39

@TS朝暮: 在计时器里一进来就 timer.Enabled=false 将计时器停止,然后跑自己想要的代码,跑完代码后在根据情况看要不要重新启动计时器 timer.Enabled=true
如果代码运行时间长最好开个线程

支持(0) 反对(0) jqw2009 | 园豆:2341 (老鸟四级) | 2018-11-30 13:40
0

c# 有好几个timer,你用的是哪个?换一个试试

会长 | 园豆:12463 (专家六级) | 2018-11-29 17:46

是这样的,想请问一下把timer关掉的代码是timer.stop();吗?还有别的写法吗

支持(0) 反对(0) TS朝暮 | 园豆:10 (初学一级) | 2018-11-29 17:50

@TS朝暮: 是,但是我依稀记得有个timer并不是会立马停止,就像调垃圾回收的那个gc函数,并不会立马回收。所以我建议你换一个timer试试,.net有3个timer。其实不立马停止也没事吧,总会停止的?你这里调用之后一般多久会停止,我看你是用timer做倒计时的?

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2018-11-29 17:57

@会长: 我用的就是timer控件,叫这个名字,设置一秒刷新,然后倒计时到0的时候我写了停止,结果隔了一会她到了负数,我调试一下,非常感谢你回答我的问题,要是有新的方法,请多多指教

支持(0) 反对(0) TS朝暮 | 园豆:10 (初学一级) | 2018-11-30 10:09

@TS朝暮: 这样的话好弄啊,你不用非得等他停止,每次都判断一下,当小于0时就不显示了。

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2018-11-30 10:19

@会长: 嗯嗯我按你说的调试了,目前改好了,我在修复一下细节,很感谢你

支持(0) 反对(0) TS朝暮 | 园豆:10 (初学一级) | 2018-11-30 11:40

@TS朝暮: 不用谢

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2018-11-30 11:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册