2024年5月7日发(作者:)

C#开发active插件

先说说ActiveX的基本概念。

根据微软权威的软件开发指南MSDN(Microsoft Developer Network)的定义,

ActiveX插件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插

入到WEB网页或其它应用程序中。

ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要

的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM

(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX

网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX

近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控

件的功能和JAVA applet功能类似。

目前支持ActiveX的主要是IE浏览器。

以前ActiveX开发普遍使用VC++或VB,随着C#和.net的发布,用C#开发ActiveX

控件变得更方便、更简单。但需要注意的是用C#开发的ActiveX控件需要客户机装有.net

framework,有点郁闷。可是相对.net强大的功能良好的易用性,这点牺牲还是值得的,

况且现在好多计算机已经安装有.net framework了。

其实.net下的winform控件也是可以直接嵌入到web网页里的,但是由于.net安全

性的限制,无法在客户端实现复杂的操作,比如磁盘空间操作和注册表操作。因为ActiveX

控件是以本地用户的身份运行,可以突破.net安全性的限制,所以开发ActiveX控件还是

很必要的。

C#写ActiveX控件的原理很简单,就是使用了.net平台和COM的互操作性。修改项

目属性的目的就是将.net控件注册为com。这样,你就可以把这个控件完全当作ActiveX

控件来对待了。比如,可以使用JS和VBS来调用,也可以使用C++来调用。

下面一步步来实现C#写ActiveX控件。

第一部分:用vs2008制作一个winForm控件

用vs2008建立一个新的“windows窗体控件库”命名为

“WindowsFormsControlLibrary1”如下图

点击确定后,将更名为。向界面里添加一个Labal、一个

TextBox和一个Button,相应的修改控件属性。如下图: