使用ActiveX控件报错 System.Windows.Forms.AxHost +InvalidActiveXStateException 异常

在.NET WinForm开发中,当尝试手动实例化并使用第三方ActiveX控件(OCX控件)时,可能会遇到System.Windows.Forms.AxHost+InvalidActiveXStateException异常。本文将解释为何在设计界面拖拽控件可以自动解决这个问题,并提供手动初始化控件的方法来避免异常。

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

     .NET WINFORM 开发时引用第三方ActiveX控件(OCX控件)时,在VS从工具箱拖控件至设计界面使用正常,但如果自己手动实例化控件,当使用该控件时会引发System.Windows.Forms.AxHost +InvalidActiveXStateException的异常,后经查,除了实例化,还要初始化该对象。

       一般来说一个对象只要实例化就行了,但是ActiveX是必须存在于UI上的控制项,如果没经初始化,会出现System.Windows.Forms.AxHost +InvalidActiveXStateException的异常

       而拖控件至设计界面时VS会自动添加初始化ActiveX控件的代码:

AxEPGISMODELCTRLLib.AxEPGISModelCtrl axEPGISModelCtrl1= new AxEPGISMODELCTRLLib.AxEPGISModelCtrl();
((System.ComponentModel.ISupportInitialize)(this.axEPGISModelCtrl1)).BeginInit();
this.panelMap.Controls.Add(this.axEPGISModelCtrl1);
((System.ComponentModel.ISupportInitialize)(this.axEPGISModelCtrl1)).EndInit();




 

 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值