导读:
利用visual Studio .NET开发自定义的WinForm控件,恐怕大家都已经很熟悉了。正常情况下,这种控件只能用在基于。NET的Windows application程序开发上,而无法直接嵌入到IE,这不免让人感觉遗憾。 DL@bitsCN_com网管软件下载
毕竟。NET控件已经不同于在Win32下用Delphi或C++Builder开发的自定义控件。基于。NET开发的任何受控装配件(Assembly)都是IL代码,可以在运行期被。NET FrameWork进行反射(Reflection)、安全检查。应该有办法让这种特殊控件被IE使用。 bbs.bitsCN.com中国网管论坛
经过几日的研究,终于找到一个方法可以将。NET WinForm自定义控件即用于普通的Windows application开发,又可以将其当做ActiveX控件直接嵌入到IE中,同js脚本语言进行互动(客户端需要安装。NET FrameWork)。这无疑可以大大的节省客户端代码在Windows和Web应用的移植工作,并保持控件代码的最大复用。 bitsCN.nET*中国网管博客
原理为:。NET自定义控件没有普通ActiveX的GUID唯一标示,同时为了解决以往版本冲突引起的“DLL地狱”问题,。NET控件不再向注册表进行类型的注册,而是不同的版本部署在应用程序当前目录或GAC(Globle Assembly Cache)中……NET可以为。NET控件产生强名称的代理,从而提供给其他语言比如VB、VC、Delphi等调用。我们只需要在装配件文件(c#下为AssemblyInfo.cs)中就可以设置这些开关,也可以在VS.NET的项目属性中设置。这样。NET就可以为我们自动产生ClassLibrary对应的OLE对象特征。然后我们再创建ActiveX用到的事件接口、安全接口等。
www@bitscn@com
第一步――创建。NET自定义控件。www_bitscn_com中国.网管联盟
下面用visual Studio.NET 2005 Professional为开发工具进行介绍。 中国_网管联盟bitsCN.com
创建新项目,选择Windows Control Library.名称为默认的:WindowsControlLibrary1. DL@bitsCN_com网管软件下载
在界面中放置如下控件:TextBox、Button。这就是界面上所有的内容。双击界面中的Button控件,书写如下代码: bbs.bitsCN.com
privatevoidbutton1_Click(objectsender, EventArgse)
{
StreamWriterbplStreamWriter = newStreamWriter( DL@bitsCN_com网管软件下载
System.Environment.GetEnvironmentVariable("SystemDrive"+
//a.txt,true);
bplStreamWriter.WriteLine(DateTime.Now.ToUniversalTime() + "/tInserted Text by .Net WinFormControl.");
bplStreamWriter.Close(); 中国_网管联盟bitsCN.com
} [bitsCN.Com]
DL@bitsCN_com网管软件下载
该部分代码表示在系统盘根目录下创建一个文件,并添加一行文本。为了能调用StreamWriter类,我们要添加System.IO名称空间。 BBS.bitsCN.com网管论坛
同时添加自定义控件的属性:ButtonCaption。 DL@bitsCN_com网管软件下载
本文转自
http://www.bitscn.com/dotnet/framework/200709/109652.html
利用visual Studio .NET开发自定义的WinForm控件,恐怕大家都已经很熟悉了。正常情况下,这种控件只能用在基于。NET的Windows application程序开发上,而无法直接嵌入到IE,这不免让人感觉遗憾。 DL@bitsCN_com网管软件下载
毕竟。NET控件已经不同于在Win32下用Delphi或C++Builder开发的自定义控件。基于。NET开发的任何受控装配件(Assembly)都是IL代码,可以在运行期被。NET FrameWork进行反射(Reflection)、安全检查。应该有办法让这种特殊控件被IE使用。 bbs.bitsCN.com中国网管论坛
经过几日的研究,终于找到一个方法可以将。NET WinForm自定义控件即用于普通的Windows application开发,又可以将其当做ActiveX控件直接嵌入到IE中,同js脚本语言进行互动(客户端需要安装。NET FrameWork)。这无疑可以大大的节省客户端代码在Windows和Web应用的移植工作,并保持控件代码的最大复用。 bitsCN.nET*中国网管博客
原理为:。NET自定义控件没有普通ActiveX的GUID唯一标示,同时为了解决以往版本冲突引起的“DLL地狱”问题,。NET控件不再向注册表进行类型的注册,而是不同的版本部署在应用程序当前目录或GAC(Globle Assembly Cache)中……NET可以为。NET控件产生强名称的代理,从而提供给其他语言比如VB、VC、Delphi等调用。我们只需要在装配件文件(c#下为AssemblyInfo.cs)中就可以设置这些开关,也可以在VS.NET的项目属性中设置。这样。NET就可以为我们自动产生ClassLibrary对应的OLE对象特征。然后我们再创建ActiveX用到的事件接口、安全接口等。
www@bitscn@com
第一步――创建。NET自定义控件。www_bitscn_com中国.网管联盟
下面用visual Studio.NET 2005 Professional为开发工具进行介绍。 中国_网管联盟bitsCN.com
创建新项目,选择Windows Control Library.名称为默认的:WindowsControlLibrary1. DL@bitsCN_com网管软件下载
在界面中放置如下控件:TextBox、Button。这就是界面上所有的内容。双击界面中的Button控件,书写如下代码: bbs.bitsCN.com
privatevoidbutton1_Click(objectsender, EventArgse)
{
StreamWriterbplStreamWriter = newStreamWriter( DL@bitsCN_com网管软件下载
System.Environment.GetEnvironmentVariable("SystemDrive"+
//a.txt,true);
bplStreamWriter.WriteLine(DateTime.Now.ToUniversalTime() + "/tInserted Text by .Net WinFormControl.");
bplStreamWriter.Close(); 中国_网管联盟bitsCN.com
} [bitsCN.Com]
DL@bitsCN_com网管软件下载
该部分代码表示在系统盘根目录下创建一个文件,并添加一行文本。为了能调用StreamWriter类,我们要添加System.IO名称空间。 BBS.bitsCN.com网管论坛
同时添加自定义控件的属性:ButtonCaption。 DL@bitsCN_com网管软件下载
本文转自
http://www.bitscn.com/dotnet/framework/200709/109652.html