System.InvalidOperationException异常的处理!vs15版

本文探讨了在使用C#进行即时通讯编程时遇到的消息发送失败问题,详细分析了System.InvalidOperationException异常的原因,并提供了两种解决方案:一是添加显示的回调函数,二是禁用非法跨线程调用检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用C#写即使通讯编程时,不管怎么发送消息但是接收方都接收不到消息,调断点调试发送的数据进入了栈空间,接收方也接收到了数据。只是显示控件不能显示的原因。

而且我到后面才发现小窗口报了

System.InvalidOperationException异常

查微软的官方解释是:当调用一个对象的一个方法且该对象的状态无法支持该方法调用时,将引发 System.InvalidOperationException 当一个方法尝试从一个线程操作 UI 且该线程不是主要或 UI 线程时,也将引发该异常。

所以我们只用加一个显示的回调函数就可以解决了!

还有一个简单的办法就是在方法里面加一句:CheckForIllegalCrossThreadCalls = false;   关闭检查!

转载于:https://www.cnblogs.com/fly0512/p/10024372.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值