.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();