欢迎来到天天文库
浏览记录
ID:12985822
大小:42.50 KB
页数:11页
时间:2018-07-20
《如何开发c# activex控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如何开发C#ActiveX控件 ActiveX控件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。使用ActiveX插件,可以轻松方便的在Web页中插入多媒体效果、交互式对象以及复杂程序等等。 ActiveX控件开发在VisualStudio2005开发环境中,可以使用Windows控件库项目实现ActiveX控件的开发,但是需要对项目做一些必要的设置。下面就来看看如何使用Windows控件库项目开发一个ActiveX控件。首先创建一个应用程
2、序解决方案,并添加一个Windows控件库项目: 更改“项目属性-应用程序-程序集信息”设置,勾选“使程序集COM可见”: 更改“项目属性-生成”设置,勾选“为COMInterop注册”(注意,此处如果实在debug状态下修改的,那在调到release状态下还需要再设置一次): 修改AssemblyInfo.cs文件,添加[assembly:AllowPartiallyTrustedCallers()]项(需要引用System.Security名称空间):Codehighlightingpr
3、oducedbyActiproCodeHighlighter(freeware)http://www.CodeHighlighter.com/--> usingSystem.Reflection; usingSystem.Runtime.CompilerServices; usingSystem.Runtime.InteropServices; usingSystem.Security; [assembly:AssemblyTitle("Yilin.Preresearch.CSharpA
4、ctiveX")] [assembly:AssemblyDescription("")] [assembly:AssemblyConfiguration("")] [assembly:AssemblyCompany("10BAR")] [assembly:AssemblyProduct("Yilin.Preresearch.CSharpActiveX")] [assembly:AssemblyCopyright("Copyright?10BAR2009")] [assembly:Ass
5、emblyTrademark("")] [assembly:AssemblyCulture("")] [assembly:AllowPartiallyTrustedCallers()] [assembly:ComVisible(true)] [assembly:Guid("114d1f0c-43b8-40ac-ae7c-5adccc19aef3")] [assembly:AssemblyVersion("1.0.0.0")] [assembly:AssemblyFileVersion(
6、"1.0.0.0")] 添加一个Windows用户控件: 按照开发Windows用户控件一样的思路完成该控件的开发,本例中主要实现了两个业务功能,一个是提供一个公共方法,用于读取USBKey中保存的签名证书,保存到本地C盘根目录下,并返回操作信息;另一个业务功能提供UI界面,包括一个Button控件和一个Label控件,Button控件的Click事件调用前面提供的那个方法,并将返回信息显示到Label控件上。这样做可以达到两个目的,其一,ActiveX控件提供公共方法供B/S程序直接调用,从
7、后实现业务功能;其二,ActiveX控件可以提供B/S程序UI界面,通过响应B/S程序中对UI的操作事件实现业务功能。 完成控件开发后,为了使该用户控件作为一个ActiveX控件进行使用,还需要做以下修改: 首先,为控件类添加GUID,这个编号将用于B/S系统的客户端调用时使用(可以使用工具-创建GUID菜单创建一个GUID):CodehighlightingproducedbyActiproCodeHighlighter(freeware)http://www.CodeHighlighter
8、.com/--> Guid("4A44CF4E-F859-4328-AA22-3E9D7AFFF1AB")] publicpartialclassHello:UserControl 其次,为了让ActiveX控件获得客户端的信任,控件类还需要实现一个名为“IObjectSafety”的接口。先创建该接口(注意,不能修改该接口的GUID值):CodehighlightingproducedbyActiproCodeHighlighter(freeware)http://www.
此文档下载收益归作者所有