winform窗体执行了四十几分钟后timer1.Start()报错

qq_35686111 2016-07-25 03:44:41

...全文
2807 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
生财 2019-03-30
  • 打赏
  • 举报
回复
用直接 while(true){ DoWork Thread.Sleep(xxx); }
  • 打赏
  • 举报
回复
从最简单的方式来理解,例如我们要“初始化”调用什么 ABC 方法,可能不应该乱写
private void button1_Click(object sender, EventArgs e)
{
    var f = new AnotherForm();
    f.Show();
    f.ABC();
}
代码。一旦 ABC 中有控件操作,那么应该放到 Form_Load 事件中(或者之后处理):
private void button1_Click(object sender, EventArgs e)
{
    var f = new AnotherForm();
    f.Load += (s, arg) => f.ABC();
    f.Show();
}
  • 打赏
  • 举报
回复
另外,在调试窗口的“查看详细信息”中,你至少要查看调用堆栈、InnerException 等信息。 要贴出真正的调试画面。你只会贴出结果出错画面,这距离开发调试程序,还差一些操作技能。
  • 打赏
  • 举报
回复
对于窗口内控件的操作,应该放到 Form_Load 事件之中、或者之后来操作。 不要胡乱在初始化时乱调子控件。
xiafan 2018-12-01
  • 打赏
  • 举报
回复
时钟的控件有两种。经常用的那种,在窗体隐藏,只保留右下角通知区域的话,普通的时钟控件是有问题的。 好像要使用服务类的时钟控件。
fly___fly 2018-06-14
  • 打赏
  • 举报
回复
我看你是把窗体给隐藏了,然后在点击图标时显示出来,为什么不干脆在点击图标时新建窗口呢 还有你是在主线程里直接操作窗口,试下通过事件来操作,把 timer.Start() 放到 ActivedEvent 或者 VisibleEvent
qq_26703139 2018-05-22
  • 打赏
  • 举报
回复
你里面有没有多线程或者dispose什么的。。创建窗口句柄时出错,总感觉是窗体或者timer被干掉了
孤独的海啊 2017-12-20
  • 打赏
  • 举报
回复
你只有start 有stop吗?
  • 打赏
  • 举报
回复
你的infoshow是显示窗体的代码吗? 另外建议你用 timer1.Enabled = false;//停止计时 timer1.Enabled = true;//开始计时
巴士上的邂逅 2016-07-26
  • 打赏
  • 举报
回复
42分钟,Timer是不是被回收机制回收了,我不敢确定。 建议在点击NotifyIcon时再创建Timer。
南天空 2016-07-26
  • 打赏
  • 举报
回复
你将有下角的将详细信息复制到剪贴板,看看是什么类型的异常。然后查看一下WIN32什么情况下报这种异常,一般能从微软的提示上找到解决办法
qq_35686111 2016-07-25
  • 打赏
  • 举报
回复

将程序挂在右下角,什么都不操作,当超过42分钟后再点击的话就报这个错。
这个时间控件是控制点击托盘图标时显示窗体后的倒计时,到了5秒钟后,winform窗体
淡化并隐藏。这个时间控件就是控制的5秒钟倒计时。
巴士上的邂逅 2016-07-25
  • 打赏
  • 举报
回复
在这期间,你对Form或者Timer进行了什么操作?

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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