C#桌面应用程序调用Ocx控件

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平台,否则会报该错误。

问题修改:
选中工程项目,右键属性,选择生成属性页,修改目标平台。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4fdcedd51bdb4aef8fefec663a1ca141.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYmx1ZWZpcmUxMTI2,size_20,color_FFFFFF,t_70,g_se,x_16

猜你喜欢

转载自blog.csdn.net/bluefire1126/article/details/120993664