Visual C#如何使用Active X组件

     Active   X组件是充分利用OLE和Active   X技术的自定义组件,微软公司积极鼓励把Active   X作为一个与应用程序无关的自定义组件。从本质上说,Active   X组件是一个Active   X服务器,他能够提供所有的OLE功能和服务,可视化编辑、拖放和OLE自动化。ActiveX控件有属性(Propertiy)、方法(method)、事件(Event)三个元素构成,他一般是以“DLL”扩展名的形式出现的。这时细心的读者可能已经注意到在.Net   FrameWork   SDK中的类库中的类库文件也是以“DLL”扩展名的形式出现的。那么这二种“DLL”是一种类型的么?答案是否定的。这是因为这些Net   FrameWork   SDK中的类库是由Common   Language   Runtime编译生成的,这些由Common   Language   Runtime编译生成的的代码就是所谓的受管代码(Managed   Code),而Active   X组件不是由Common   Language   Runtime生成的,而是由譬如:Visual   Basic等语言生成的,这些代码是非受管代码(Unmanaged   Code)。非受管代码是不能直接被.Net框架中的程序开发语言直接使用的,即Active   X组件不能直接在Visual   C#和Visual   Basic   .Net等程序中使用。而要经过一定的转换,把非受管代码转换成受管代码,这样才可以使用。本文就来探讨一下Visual   C#中如何进行Active   X组件编程。本文将按照以下顺序来介绍:首先利用Visual   Basic   6.0构建一个Active   X组件,然后转换这个Active   X组件成可以被Visual   C#使用的组件,最后在Visual   C#中使用此组件。    
   
    一.   程序设计和运行的基本环境:    
   
    (1).视窗2000服务器版    
    (2)..Net   FrameWork   SDK   Beta   2   版    
    (3).Visual   Basic   6.0    
   
    二.用Visual   Basic   6.0构建一个Active   X组件:    
   
    (1).首先打开Visual   Basic   6.0,在“文件”菜单中,选择“新建工程”,出现一个对话框,在对话框中选择“Active   X   DLL”,具体如下图:    
     
  图1:新建Active   X组件  
   
    (2).然后在“工具”菜单中,选择“添加过程”,命名过程名称为“show”。具体如下图:    
     
  图2:在组件中创建一个过程  
   
    然后在此过程中加入以下代码:    
   
    Public   Function   show   (   )    
    MsgBox   (   "这是在Visual   C#中使用Active   X!"   )    
    End   Function    
   
    (3).接着选择“工程”菜单中的“工程属性”,把刚才新建的过程重命名为“mydll”。如下图所示:    
     
  图3:改变工程文件名称  
   
    (4).生成Active   X组件,产生“mydll.dll”文件:    
   
    这时选择“文件”菜单中的“生成mydll.dll”,就会在指定的目录下面产生一个Active   X组件,名称为“mydll.dll”。具体操作如下图:    
     
  图4:产生Active   X组件  
   
    此Active   X组件的内容十分简单,只有一个show()方法。  
   
    三.把非受管代码的Active   X组件转换成受管代码的类库:    
   
    .Net框架提供了一个转换的程序,通过此程序可以把非受管代码转换为受管代码,这个程序的名称为“tlbimp.exe“。通过下面的命令就可以完成转换:    
   
    tlbimp   mydll.dll   /out:my.dll    
   
    此时会产生一个“my.dll”的类库,这个类库中定义了一个命名空间为“my”,在此命名空间中定义了一个类“Class1”,这个类有一个方法叫“show”的方法。  
   
    四.使用编译成受管代码的Active   X组件:    
   
    其实这样说已经不十分准确了,因为Active   X组件不可能是受管代码,此时的Active   X组件已经变成了可以被.Net开发语言使用的类库了。这样说主要是为了更方便理解。有了上面的介绍,可以较方面的完成下列的程序。    
   
    using   my   ;    
    using   System   ;    
    public   class   Activex    
    {    
    public   static   void   Main   (   )    
    {    
    Class1   s   =   new   Class1   (   )   ;    
    s.show   (   )   ;    
    }    
    }    
   
    下图是编译后程序的运行界面:    
     
  图5:程序运行界面  
   
    五.总结:    
   
    Actvie   X组件是一个庞大的家族,拥有很多功能强大的组件,充分利用这些Active   X组件资源,不仅是对以前的资源的利用,而且有时也能够解决许多依靠现有的技术,不便于或者难以解决的问题。其实Active   X组件在Visual   C#中的使用方法和其在Visual   Basic   .Net中,以及其他.Net开发语言使用的方法是大同小异的。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值