国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

Visual C#如何使用Active X組件

2023-05-17 11:41:56
字體:
來源:轉載
供稿:網友

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”,具體如下圖:

ActiveX

  (2).然后在“工具”菜單中,選擇“添加過程”,命名過程名稱為“show”。具體如下圖:

然后在此過程中加入以下代碼:

Public Function show ( )
    MsgBox ( "這是在Visual C#中使用Active X!" )
End Function

(3).接著選擇“工程”菜單中的“工程屬性”,把剛才新建的過程重命名為“mydll”。如下圖所示:

ActiveX

(4).生成Active X組件,產生“mydll.dll”文件:

這時選擇“文件”菜單中的“生成mydll.dll”,就會在指定的目錄下面產生一個Active X組件,名稱為“mydll.dll”。具體操作如下圖:

ActiveX

此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 ( ) ;
      }
  }

下圖是編譯后程序的運行界面:

ActiveX

  五.總結:

Actvie X組件是一個龐大的家族,擁有很多功能強大的組件,充分利用這些Active X組件資源,不僅是對以前的資源的利用,而且有時也能夠解決許多依靠現有的技術,不便于或者難以解決的問題。其實Active X組件在Visual C#中的使用方法和其在Visual Basic .Net中,以及其他.Net開發語言使用的方法是大同小異的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尼木县| 南江县| 张家界市| 武平县| 永兴县| 宜章县| 上虞市| 钦州市| 盱眙县| 南宫市| 泾源县| 亚东县| 丰宁| 天门市| 孟连| 虎林市| 会昌县| 太仆寺旗| 绥棱县| 黎川县| 崇左市| 梁山县| 灵山县| 龙海市| 准格尔旗| 浑源县| 宜丰县| 措美县| 乐亭县| 西峡县| 呼图壁县| 永春县| 蕲春县| 介休市| 库尔勒市| 四平市| 武威市| 永城市| 遵义市| 辽源市| 名山县|