魔王撒旦
查看详细资料
TOP
小黑屋
银河飞将
原帖由 klites 于 2016-9-17 20:41 发表 感觉就是多线程没处理好,.net版本是多少?
原帖由 xpressure 于 2016-9-17 20:49 发表 发生错误的时候,去看看windows日志
混世魔头
原帖由 @shixn 于 2016-9-17 20:20 发表 我试过在主窗体声明dlg 然后再click里再声明一个dlg1 (正常来说这里dlg1有好多初始化操作,设置横纵坐标范围,图线颜色等,但加不加效果一样,都死。。) 然后 dlg=dlg1 dlg.show() 道理应该一样吧,,,这样也不行。。。 而且有时候需要新建多个窗口,必须要有多个DisplayDlg对象。。。
查看个人网站
原帖由 jzhl 于 2016-9-17 21:19 发表 posted by wap, platform: iPhone 这个DisplayDlg类是你自己写的吗?会不会有些资源调用了没释放?
原帖由 klites 于 2016-9-17 21:30 发表 wpf里UI是占主线程的,像后台计时并通知前端textbox这类的操作都要用多线程解决,不然前端UI会卡死
原帖由 shixn 于 2016-9-17 22:07 发表 可是我在主窗口里也有类似的操作,后台定时读串口,显示到textbox,运行1天1夜也没事。。。 只要一show新窗口,5分钟,必死无疑。。。
原帖由 xpressure 于 2016-9-17 22:49 发表 我好像知道原因了,你明天代码发我下
原帖由 @shixn 于 2016-9-17 20:05 发表 比如我在主窗口的某个函数里,用这个方法生成了窗口 private void NewDlgBtn_Click(object sender, RoutedEventArgs e) { DisplayDlg dlg = new DisplayDlg (); ..... dlg .Show(); return; } 当NewDlgBtn_Click函数返回后,dlg还会存在多久??会不会被自动释放??
原帖由 maybach 于 2016-9-17 23:59 发表 posted by wap, platform: 红米Note3 点了X以后自动dispose而且不能重用。
原帖由 @shixn 于 2016-9-17 21:25 发表 这个就是新建窗口,起个名字(DisplayDlg),然后拖了个几个控件放进去。。。 弄几个变量,主窗口里的数据传递进来。 然后搞了个定时器,1秒1次,把变量里的数显示出来。 现在为了找问题,能删的都删了,只有一个定时器函数,1秒++一个cnt,显示出来,其他没了。。。 百度了下“C# 资源”,感觉跟我没啥关系啊。。。