c#

位置:IT落伍者 >> c# >> 浏览文章

Visual C#如何使用Active X组件


发布日期:2022年06月19日
 
Visual C#如何使用Active X组件
Active X组件是充分利用OLE和Active X技术的自定义组件微软公司积极鼓励把Active X作为一个与应用程序无关的自定义组件从本质上说Active X组件是一个Active X服务器他能够提供所有的OLE功能和服务可视化编辑拖放和OLE自动化ActiveX控件有属性(Propertiy)方法(method)事件(Event)三个元素构成他一般是以DLL扩展名的形式出现的这时细心的读者可能已经注意到在Net FrameWork SDK中的类库中的类库文件也是以DLL扩展名的形式出现的那么这二种DLL是一种类型的么?答案是否定的这是因为这些Net FrameWork SDK中的类库是由Common Language Runtime编译生成的这些由Common Language Runtime编译生成的的代码就是所谓的受管代码(Managed Code)而Active X组件不是由Common Language Runtime生成的而是由譬如Visual Basic等语言生成的这些代码是非受管代码(Unmanaged Code)非受管代码是不能直接被Net框架中的程序开发语言直接使用的即Active X组件不能直接在Visual C#和Visual Basic Net等程序中使用而要经过一定的转换把非受管代码转换成受管代码这样才可以使用本文就来探讨一下Visual C#中如何进行Active X组件编程本文将按照以下顺序来介绍首先利用Visual Basic 构建一个Active X组件然后转换这个Active X组件成可以被Visual C#使用的组件最后在Visual C#中使用此组件

程序设计和运行的基本环境

()视窗服务器版

()Net FrameWork SDK Beta

()Visual Basic

用Visual Basic 构建一个Active X组件

()首先打开Visual Basic 文件菜单中选择新建工程出现一个对话框在对话框中选择Active X DLL具体如下图

()然后在工具菜单中选择添加过程命名过程名称为show具体如下图

然后在此过程中加入以下代码

Public Function show ( )

MsgBox ( 这是在Visual C#中使用Active X! )

End Function

()接着选择工程菜单中的工程属性把刚才新建的过程重命名为mydll如下图所示

()生成Active X组件产生mydlldll文件

这时选择文件菜单中的生成mydlldll就会在指定的目录下面产生一个Active X组件名称为mydlldll具体操作如下图

此Active X组件的内容十分简单只有一个show()方法

把非受管代码的Active X组件转换成受管代码的类库

Net框架提供了一个转换的程序通过此程序可以把非受管代码转换为受管代码这个程序的名称为tlbimpexe通过下面的命令就可以完成转换

tlbimp mydlldll /out:mydll

此时会产生一个mydll的类库这个类库中定义了一个命名空间为my在此命名空间中定义了一个类Class这个类有一个方法叫show的方法

使用编译成受管代码的Active X组件

其实这样说已经不十分准确了因为Active X组件不可能是受管代码此时的Active X组件已经变成了可以被Net开发语言使用的类库了这样说主要是为了更方便理解有了上面的介绍可以较方面的完成下列的程序

using my ;

using System ;

public class Activex

{

public static void Main ( )

{

Class s = new Class ( ) ;

sshow ( ) ;

}

}

下图是编译后程序的运行界面

总结

Actvie X组件是一个庞大的家族拥有很多功能强大的组件充分利用这些Active X组件资源不仅是对以前的资源的利用而且有时也能够解决许多依靠现有的技术不便于或者难以解决的问题其实Active X组件在Visual C#中的使用方法和其在Visual Basic Net中以及其他Net开发语言使用的方法是大同小异的

上一篇:C#编码规范(一)命名约定与风格

下一篇:C#定时调用方法(线程)