C#桌面应用程序调用Ocx控件
1、创建C#桌面应用程序项目
2、选择.NET Framework桌面应用程序
3、配置项目名称,路径和框架等
4、创建成功
5、在工具箱选项卡中选中常规选项,右键显示列表中选择“选择项”,选择浏览按钮添加控件。
6、浏览软件目录,添加目标Ocx控件。
7、选中添加的控件,点击确定添加控件到工具箱。
8、工具箱控件添加成功。
9、将控件拖到窗体上,调整控件位置和大小。
10、调用控件方法接口
11、调用外部Ocx控件接口需要添加System.Windows.Froms程序集。
12、完成控件功能调用。
13、添加功能代码
14、运行结果
错误问题:
1、System.BadImageFormatException:“未能加载文件或程序集“AxInterop.EloamViewLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。”
问题原因:
工程使用了3.5框架导致,早期的框架不支持AxHost调用所以会报错,使用Ocx控件必须使用4.0及以后的.NET Frameware框架 。
问题修改:
选中工程项目,右键属性,在左侧选应用程序属性也,修改框架版本为4.0以后版本。
2、System.Runtime.InteropServices.COMException:“没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))”
问题原因:
控件属于x86控件,必须运行在x86平台,不能运行在Any CPU和x64平台,否则会报该错误。
问题修改:
选中工程项目,右键属性,选择生成属性页,修改目标平台。