关于VC编写ActiveX控件的问题,网络上有很多方法可以借鉴,但是用C#(特指VS2005中的C#开发环境)编写ActiveX控件,并在Web中引用控件的方法,似乎难以在网络上找到详细的方法,即使有也说得不够清楚。
        我在网上找到了一个方法,自己调试通过了,并且延展了涉及到的相关方面的东西,也一并总结在这个文章里,以备网友们查看,以及作为自己的笔记。
        全文如下:
        关于C#的Web ActiveX控件开发

        step1         打开Visual Studio 2005,点击菜单栏上的“文件->新建->项目”(ctrl+shift+N),这时      会弹出“新建项目”窗口,在左侧“项目类型”中选择“Visual C#->Windows”,这时右侧会列出这一选项下的所有项目类型,点击“Windws控件库”,在名称那输入你想起的名字(自己随便,好记就行)。
        step2         完成第一步后,编辑状态被打开,应该可以看到一个灰色的没有标题栏和任何按钮的一个矩形块(那其实是就是一个空的控件),我们对控件的设计就在这个矩形块以及其后台的代码中完成。这部分的工作同一般的C#开发过程没有区别,你可以对这个特殊的窗体(那个矩形块)进行你所想要的设计开发过程,这里就不详细叙述了,因为这于本文的主题无关。
        step3          完成了控件的代码编写和一些列的外观设计(包括其上的按钮,文本框等等控件的安排和后台代码的编写,数据库的连接操作等),我们要进行的工作就是有关在Web上使用这个控件的问题了。
        step4          不要急着关闭那个控件的编辑,我们要先设置一下,在菜单栏上,点击“项目->控件属性(这个选项一般在最后一个,选项名字就是“你为你的控件起的名字”属性”),这时,弹出一个配置窗口,在左侧点击“生成”标签,右侧显示“生成”标签下的一系列设置选项,其他的我们不管,拉到下面,找到“ 为 COM Interop 注册(P)”这个选项,勾上它。可以关掉选项设置窗口了。
         step5          在“解决方案资源管理器”中,找到 AssemblyInfo.cs,打开它,在代码段中找到[assembly: ComVisible(false)],把false改成true。
然后注释掉[assembly: Guid("dea23dbb-78b6-452c-b008-f985483ce68b")]
——(说明一下,Guid后面的那一串字符不一定是这个,你的应该和我的不一样,每个人的都应该不一样,这个是用来表示控件的ID)。
         step6   完成上面的工作后,还有一个工作,在控件设计上点右键,选择查看代码,进入代码编辑模式,添加引用“ using System.Runtime.InteropServices;”在using system……下面的第一个namespace ……下面加入[Guid("dea23dbb-78b6-452c-b008-f985483ce68b")](当然里面的串是你的控件的串)如下图吧




access activex控件 activex控件设置_access activex控件

把上面那两个红框框里的东西加上,就ok了。



   

step6 下面的工作就是在网页中加入控件的引用,进入到网页编辑(脚本),加入以下标签语句:“ <object id="你的控件名字,就是你在创建控件的时候起的名字" classid="clsid:此处替换成为你记住的那个Guid" ></object>

”。


OK了,去测试你的网页吧,它已经可以运行你定义的插件吧。

不过,外观好像不那么漂亮吧,只需在s2005中打开载入控件的网页,选择控件的哪个object标签,在右边属性窗里,找到style选项,通过“…”按钮进入样式设置窗口,设置就可以了