请教一个winform里的Timer问题

newdreammer 2019-03-30 11:07:36
自学不久,写着玩,发现这个定时器根本不被控制,就算上面的条件成立,并且监控到enabled也是true,但事件不执行。 上边的条件是写在新开的一个线程里的,线程内是一个循环的方法,执行到这一步后又回到上面了,这个timer根本没动静。 如果一开始将enabled属性改为true,能执行。用按钮切换enabled属性,也能执行。 确定其他代码没有牵扯到这个timer。 纠结好久了,请指教,谢谢!
...全文
151 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
仙奶綠 2019-04-19
  • 打赏
  • 举报
回复
引用 4 楼 weixin_44771591 的回复:
[quote=引用 3 楼 qq_42254981的回复:]有没有谢timer1.start();
我试过只要是thread新线程,用这样的方式就控制不了timer,然而我还是不明白为什么[/quote] 這樣試試

        private delegate void TimerEnable(bool appstr, System.Windows.Forms.Timer ctl);
        private void myTimerEnable(bool appstr, System.Windows.Forms.Timer ctl)
        {
            if (this.InvokeRequired)
            {
                TimerEnable doupdate = new TimerEnable(myTimerEnable);
                this.Invoke(doupdate, appstr, ctl);
            }
            else
            {
                ctl.Enabled = appstr;
            }
        }
Thread 裡面

                                                    myTimerEnable(true, timer1);
newdreammer 2019-04-01
  • 打赏
  • 举报
回复
引用 3 楼 qq_42254981的回复:
有没有谢timer1.start();
我试过只要是thread新线程,用这样的方式就控制不了timer,然而我还是不明白为什么
平底锅锅锅 2019-03-31
  • 打赏
  • 举报
回复
不建议在定时器里面使使用自身属性Enable。
qq_42254981 2019-03-31
  • 打赏
  • 举报
回复
有没有谢timer1.start();
newdreammer 2019-03-30
  • 打赏
  • 举报
回复
貌似图片不能放大???

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧