VS2019 C#自定义用户控件定时器导致工程卡死退出的问题

在VS2019中,一个上位机工程使用C#自定义用户控件和datagridview显示以太网数据,并通过定时器刷新。调试后,关闭并重新打开设计页面时,VS2019出现卡死并退出。解决方法是暂时注释定时器内容,调试后再启用。发现问题是调试停止后定时器仍在后台运行。为防止此问题,可以在不需要时将定时器设为false,并使用Invoke在主线程上操作定时器。
摘要由CSDN通过智能技术生成

问题场景:
一个上位机用于显示以太网传来的数据,自定义用户控件里面使用了datagridview用来显示数据,相应的加了一个定时器刷新数据,主界面调用这个自定义用户控件。
然后调试可以正常进行,结束调试,然后重新打开主界面的设计页面,VS2019卡死退出。

解决方法:
注释掉定时器里面的内容,进行一次调试,然后可以正常打开主界面的设计页面,需要时去掉注释即可。

原理未知,有大佬知道可以教教

新发现
最近发现是调试停止但是定时器仍继续运行的原因,奇怪的是关闭工程,或者重启电脑,定时器仍然会保持上一次调试的状态运行,就离谱

可以将定时器使能设置为false,然后在需要的时候打开,能避免这个问题

在主界面打开控件里的定时器需要使用Invoke,在应用程序的主线程上执行指定的委托
比如,

            realTimeDataDC1.Invoke(new MethodInvoker(delegate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值