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

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

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

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

解决方法:

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

例如:

cs 复制代码
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();

相关推荐
Blue桃之夭夭几秒前
深入理解Optional:处理空指针异常
linux·windows·microsoft
至善迎风5 小时前
Windows系统中如何使用符号链接将.vscode等配置文件夹迁移到D盘(附 CMD & PowerShell 双版本命令)
ide·windows·vscode
old_power5 小时前
在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发
c++·windows·vscode·cmake·ninja
糯米导航5 小时前
ava多线程实现HTTP断点续传:原理、设计与代码实现
windows·http·iphone
嘟嘟实验室6 小时前
SAM2Long本地部署,视频分割处理,绿幕抠像,超长视频支持
windows·python·音视频
dntktop6 小时前
音乐“穿梭机”AudioRelay,让你的音频“无缝对接”
运维·windows·电脑·音视频
love530love7 小时前
教程:PyCharm 中搭建多级隔离的 Poetry 环境(从 Anaconda 到项目专属.venv)
开发语言·ide·人工智能·windows·python·pycharm
YUNYINGXIA8 小时前
Redis集群
redis·wpf
BillKu8 小时前
Java中List的forEach用法详解
java·windows·list
kk5799 小时前
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
人工智能·windows·vscode·chatgpt