开发基于.Net平台上
![](/icons/15910de.gif)
![](/icons/15910chengxu.gif)
员是很难从本质上把Visual C#和ActiveX组件联起来
![](/icons/15910dou.gif)
虽然在使用Visual C#开发应用
![](/icons/15910chengxu.gif)
时
![](/icons/15910dou.gif)
有时为了快速开发或者由于.Net FrameWork SDK
![](/icons/15910de.gif)
不完整
![](/icons/15910dou.gif)
还需要借助ActiveX
![](/icons/15910dou2.gif)
但即使如此
![](/icons/15910dou.gif)
也很难把 2者联系起来
![](/icons/15910dou2.gif)
其中
![](/icons/15910de.gif)
原因就是能够被Visual C#直接使用文件和通过Visual C#生成
![](/icons/15910de.gif)
可执行
![](/icons/15910chengxu.gif)
只可能是托管
![](/icons/15910de.gif)
文件
![](/icons/15910dou2.gif)
而Active X组件却都是非托管文件
![](/icons/15910dou2.gif)
这种文件
![](/icons/15910de.gif)
差异决定了 2者本质"对立"
![](/icons/15910dou2.gif)
于是这就引出了本文第
![](/icons/15910yi.gif)
个问题
![](/icons/15910dou.gif)
ActiveX和Visual C#到底是何种关系
![](/icons/15910yi.gif)
.Visual C#和Active X组件:
此时可能有些朋友会说
![](/icons/15910dou.gif)
既然能够被Visual C#直接使用只能是托管代码文件
![](/icons/15910dou.gif)
那在Visual C#中提供
![](/icons/15910de.gif)
可直接通过引用
![](/icons/15910diaoyong.gif)
ActiveX又是如何回事?
![](/icons/15910de.gif)
确Visual C#提供了引用ActiveX组件
![](/icons/15910de.gif)
操作
![](/icons/15910dou.gif)
这种操作有效
![](/icons/15910de.gif)
利用了很多以前资源
![](/icons/15910dou.gif)
使得这些资源并没有随着微软推出.Net平台而由于平台
![](/icons/15910de.gif)
差异被"抛弃"
![](/icons/15910dou.gif)
但这种在Visual C#中引入ActiveX组件
![](/icons/15910de.gif)
操作其实并不被微软公司所倡导
![](/icons/15910dou.gif)
也不符合微软推出.Net
![](/icons/15910de.gif)
最终目
![](/icons/15910de.gif)
![](/icons/15910dou2.gif)
这是
![](/icons/15910yinwei.gif)
微软的所以推出.Net是为了实现跨平台
![](/icons/15910dou.gif)
为了实现"Write _disibledevent="get_larger(this)" /> 图04:测试用Visual C#产生
![](/icons/15910de.gif)
Active X组件
![](/icons/15910de.gif)
运行界面
至此Visual C#产生
![](/icons/15910de.gif)
Active X组件和测试这个组件
![](/icons/15910de.gif)
全部工作就完成了
![](/icons/15910dou2.gif)
5.整理总结:
虽然本文介绍
![](/icons/15910de.gif)
思路方法
![](/icons/15910de.gif)
确能够方便
![](/icons/15910de.gif)
解决Web页面中很多棘手
![](/icons/15910de.gif)
问题
![](/icons/15910dou.gif)
本文介绍用Visual C#产生
![](/icons/15910de.gif)
组件
![](/icons/15910de.gif)
在实用性上
![](/icons/15910de.gif)
确非常
![](/icons/15910de.gif)
类似Active X组件
![](/icons/15910dou.gif)
但从本质上说
![](/icons/15910dou.gif)
本文产生
![](/icons/15910de.gif)
组件并不是真正意义上
![](/icons/15910de.gif)
Active X组件
![](/icons/15910dou2.gif)
如要使用本文所创建
![](/icons/15910de.gif)
组件
![](/icons/15910dou.gif)
必须在Web页面所在机器上安装.Net框架
![](/icons/15910dou.gif)
客户端访问Web页面时
![](/icons/15910dou.gif)
也不会真正下载本文介绍
![](/icons/15910de.gif)
组件
![](/icons/15910dou.gif)
从而也不需要设定计算机
![](/icons/15910de.gif)
安全级别就能够访问使用此组件
![](/icons/15910de.gif)
Web页面
![](/icons/15910dou2.gif)
可见本文产生
![](/icons/15910de.gif)
组件其实质也是
![](/icons/15910yi.gif)
个托管
![](/icons/15910de.gif)
代码文件
![](/icons/15910dou2.gif)
它只是巧妙
![](/icons/15910de.gif)
用定义接口
![](/icons/15910de.gif)
方式来告诉COM/COM+对象
![](/icons/15910dou.gif)
本组件有
![](/icons/15910yi.gif)
个可供访问
![](/icons/15910de.gif)
公用属性
![](/icons/15910dou.gif)
通过对此属性
![](/icons/15910de.gif)
读写操作
![](/icons/15910dou.gif)
完成类似Active X组件
![](/icons/15910de.gif)
工作