零.一些逼逼赖赖
我服了家人们,最近又整上C#的项目了,我真是个铁工具人,呜呜,提前全栈工程师了,吐槽一下,话不多说,直接开始。
一.问题描述
OCX 是对象类别扩充组件(Object Linking and Embedding (OLE) Control Extension);是可执行的文件的一种,但不可直接被执行; 是 ocx 控件的扩展名,与 .exe、.dll 同属于[PE文件](以上来自百度百科)
就是说啥呢,像C#中界面设计里的,哪些按钮啊,输入框的全是OCX控件。
我在使用某个控件的时候代码越写越多,想写个自己的库把代码分个类,结果发现这个控件是OCX控件,一般来说控件在拖入窗口后会自动生成,如下图
这个时候问题来了,这个AxMxDrawXlib类找不着了,想用函数传递axMxDrawX1对象都没法传递。
二、解决方案
(1)找到OCX控件所在地方
(2)拷贝到一个文件夹(其实拷贝也行,往下看)
(3)在“开始”中找到对应vs的命令提示符
(4)进入刚才拷贝到的文件夹中,执行指令如下:
aximp XXX.ocx
看一下文件夹内:
ok了家人们,接下来如何引入dll就不用我多说了吧,把dll复制到项目的debug文件夹下然后在解决方案中引用就行了!
本文参考:基于C#调用OCX控件的常用方法(推荐)