首页 新闻 会员 周边

winform程序倒计时在窗体显示,跳转窗体后再回到该窗体,计时仍在继续,可是界面上停止了

0
悬赏园豆:10 [已解决问题] 解决于 2014-12-13 09:47

    我知道我说的很模糊,截图也不好表示,在做一个短信群发器,定时发送,会给用户提供倒计时,当我跳转到别的模块再回到该模块,界面上的计时停止了,意思就是说,停止在“距离发送还有0时10分10秒” ,可是计时在继续,只不过“0时10分10秒”没有变化而已!!!   应该如何解决?

Ashe的主页 Ashe | 初学一级 | 园豆:67
提问于:2014-12-12 16:35
< >
分享
最佳答案
0

说实话,这种问题不把代码贴出来基本看不出是什么问题。所以如果你真想解决问题的话建议把代码贴出来,事例代码也行。 

可能的原因: 跨线程的问题,即非ui线程去访问ui线程里的控件, 你可以在改变界面倒计时的方法上加 this.Invoke

如果,你真想搞好winform,多线程是肯定要学好的,建议你下功夫学一下,不然你在winform上是不会有成就的

收获园豆:4
xmj112288 | 初学一级 |园豆:126 | 2014-12-12 17:47

Ashe | 园豆:67 (初学一级) | 2014-12-13 09:31
其他回答(2)
0

找出BUG,修正。

收获园豆:3
爱编程的大叔 | 园豆:30839 (高人七级) | 2014-12-12 16:42

这不算bug   应该需要另一种解决方式   老大说是把timer控件设为静态的,但是我一直没理解

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-12 16:45

@Ashe: 老大的话是对的,因为他给你钱。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-12-12 16:47

@爱编程的大叔:timer控件怎么设为静态的?我是在工具箱拖得

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-12 16:48

@Ashe: 这个得问老大了,天知道呢,有钱就是硬道理。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-12-12 16:49

@Ashe: 从工具箱里拖的那都是实例变量,别拖,自己声明一个静态的,如果你老大是对的,那么就可以解决问题了

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2014-12-12 17:47

@Ashe: Timer应该好用啊,你搞一个小程序,什么也不做,就是现实倒计时,然后看还有这个bug不,如果还有,把那个小程序发给我,我看看,谢谢:zzy_0471@163.com

支持(0) 反对(0) 会长 | 园豆:12401 (专家六级) | 2014-12-12 17:50

@会长: 仔细看了下代码,感觉不是定时器的问题~

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-13 09:40
0

典型的界面线程和后台线程问题,google:winform使用多线程,比如

C# WinForm多线程开发(三) Control.Invoke ... - NET技术

http://dotnet.9sssd.com/winform/art/853

收获园豆:3
arg | 园豆:1047 (小虾三级) | 2014-12-12 16:46

除开线程还有别的解决方式么?   我对线程很敏感

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-12 16:47

打不开网址

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-12 16:49

@Ashe: 既然用了定时器,本身就是多线程了,这个应用场景是跳不掉用多线程的。

支持(0) 反对(0) arg | 园豆:1047 (小虾三级) | 2014-12-12 16:52

@arg: 怎么解决?  有解决方法不

支持(0) 反对(0) Ashe | 园豆:67 (初学一级) | 2014-12-12 16:57

@Ashe: 先仔细阅读下搜索到的资料,自己尝试解决咯。非常成熟的东西,不用怕,即使最后时间到了,你们老大一下就搞定了,既然给时间让你自己弄,对你有好处的。

支持(0) 反对(0) arg | 园豆:1047 (小虾三级) | 2014-12-12 17:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册