WPF 引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 解决办法

    本章讲述:引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 解决办法。

    这几天在做一个WPF功能时,因为引用了第三方的OCX控件,一般来说一个对象只要实例化就行了, 但是在引用这个控件时就报引发类型为“System.Windows.Forms.AxHost + InvalidActiveXStateException”的异常。

    经过网上一顿查询,最后得出原因:出现该异常,多是引用第三方控件引起的,使用这种控件除了实例化,还要初始化该对象。

解决方法:

//初始化控件
控件  对象 = new 控件();
//实例化该对象
((System.ComponentModel.ISupportInitialize)(this.对象)).BeginInit();
this.Controls.Add(对象);
((System.ComponentModel.ISupportInitialize)(this.对象)).EndInit();

例如:

AxMxDrawX axMxDrawX = new AxMxDrawX();
//开始初始化控件对象
 ((System.ComponentModel.ISupportInitialize)axMxDrawX).BeginInit();
// 创建 host 对象
System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost() { Child = axMxDrawX };
// 结束初始化
 ((System.ComponentModel.ISupportInitialize)axMxDrawX).EndInit();

———————————————————————————————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值