打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在C#中调用 OCX 控件
 

公司有一套核算的产品,原2.1版本(使用delphi 5开发的程序)的产品有做了一个接口,是使用delphi 5写的一个OCX,现在要在3.0的版本(使用VS 2005开发的程序)上去调用这个接口。下面讲解一下再VS 2005中如何调用OCX。

①   使用窗体调用

在VS 2005中建立工程

在左边的工具栏,右键,选择“添加选项卡”

 

  

然后在工具箱中,就可看到该组件了。

拖动一个该组件和一个按钮。
 
  

双击按钮,写按钮事件。

        private void button1_Click(object sender, EventArgs e)

        {

            this.axSZCWPZIO1.Start();

        }

启动程序,点击按钮。

 

下面说说第二种,通过对OCX源文件的应用。 

 

开始—运行—CMD,去到 $VS安装的目录$\SDK\v2.0\Bin\  目录下,如我的安装目录为

G:\Program Files\Microsoft Visual Studio 8\ 则

 

 

键入以下命令

aximp r:\temp\SZCWIO.ocx /out:r:\temp\AxSZCWIO.dll /source

 注意这里生成的dll文件名称不可以和OCX控件的名称一致

在指定目录生成了文件

 

 

在VS 2005中建立工程

复制 dll文件到工程目录下\BIN\Debug的目录中

项目添加引用,点击浏览,选择项目路径下bin\debug目录下的dll文件 

 

并且,也把C:\Program Files\Microsoft.NET\Primary Interop Assemblies\stdole.dll这个文件引用进来。

然后,复制AxSZCWIO.cs文件到工程目录下

项目添加现有项,把刚才生成的AxSZCWIO.cs源文件添加进来。

此时,生成解决方案,会出现以下错误。
 解决方法:把AssemblyInfo.cs中[assembly: AssemblyVersion("1.0.0.0")] 这句给删除即可

  

到这个时刻,程序基本搭建起来。

去到窗体,拖一个按钮,写按钮的点击事件

                 private void button1_Click(object sender, EventArgs e)

        {

            AxSZCWPZIO asSZCW = new AxSZCWPZIO();

            axSZCW.Visible = false;

            axSZCW.BeginInit();

            this.Controls.Add(axSZCW);

            axSZCW.EndInit();

            axSZCW.Start();

        }

注意要在头部把AxSZCWIO.cs里的命名空间AxSZCWIO包含进来,例 using AxSZCWIO;

启动程序,界面如下

 

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
制作VB安装程序问答(一)
IE访问DVR/DVS常见问题解答
还是VB的错误430问题
OCX和DLL的区别
Aximp:ActiveX 控件导入程序将 ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件
win7 APPCRASH问题怎么解决???
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服