a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 編程 > C# > 正文

Visual C#如何使用Active X組件

2023-05-17 11:41:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Active X組件是充分利用OLE和Active X技術(shù)的自定義組件,微軟公司積極鼓勵(lì)把Active X作為一個(gè)與應(yīng)用程序無(wú)關(guān)的自定義組件。從本質(zhì)上說(shuō),Active X組件是一個(gè)Active X服務(wù)器,他能夠提供所有的OLE功能和服務(wù),可視化編輯、拖放和OLE自動(dòng)化。ActiveX控件有屬性(Propertiy)、方法(method)、事件(Event)三個(gè)元素構(gòu)成,他一般是以“DLL”擴(kuò)展名的形式出現(xiàn)的。

這時(shí)細(xì)心的讀者可能已經(jīng)注意到在.Net FrameWork SDK中的類(lèi)庫(kù)中的類(lèi)庫(kù)文件也是以“DLL”擴(kuò)展名的形式出現(xiàn)的。那么這二種“DLL”是一種類(lèi)型的么?答案是否定的。這是因?yàn)檫@些Net FrameWork SDK中的類(lèi)庫(kù)是由Common Language Runtime編譯生成的,這些由Common Language Runtime編譯生成的的代碼就是所謂的受管代碼(Managed Code),而Active X組件不是由Common Language Runtime生成的,而是由譬如:Visual Basic等語(yǔ)言生成的,這些代碼是非受管代碼(Unmanaged Code)。非受管代碼是不能直接被.Net框架中的程序開(kāi)發(fā)語(yǔ)言直接使用的,即Active X組件不能直接在Visual C#和Visual Basic .Net等程序中使用。而要經(jīng)過(guò)一定的轉(zhuǎn)換,把非受管代碼轉(zhuǎn)換成受管代碼,這樣才可以使用。

本文就來(lái)探討一下Visual C#中如何進(jìn)行Active X組件編程。本文將按照以下順序來(lái)介紹:首先利用Visual Basic 6.0構(gòu)建一個(gè)Active X組件,然后轉(zhuǎn)換這個(gè)Active X組件成可以被Visual C#使用的組件,最后在Visual C#中使用此組件。

一. 程序設(shè)計(jì)和運(yùn)行的基本環(huán)境

(1).視窗2000服務(wù)器版

(2)..Net FrameWork SDK Beta 2 版

(3).Visual Basic 6.0

二.用Visual Basic 6.0構(gòu)建一個(gè)Active X組件:

(1).首先打開(kāi)Visual Basic 6.0,在“文件”菜單中,選擇“新建工程”,出現(xiàn)一個(gè)對(duì)話框,在對(duì)話框中選擇“Active X DLL”,具體如下圖:

ActiveX

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

然后在此過(guò)程中加入以下代碼:

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

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

ActiveX

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

這時(shí)選擇“文件”菜單中的“生成mydll.dll”,就會(huì)在指定的目錄下面產(chǎn)生一個(gè)Active X組件,名稱(chēng)為“mydll.dll”。具體操作如下圖:

ActiveX

此Active X組件的內(nèi)容十分簡(jiǎn)單,只有一個(gè)show()方法。

三.把非受管代碼的Active X組件轉(zhuǎn)換成受管代碼的類(lèi)庫(kù):

.Net框架提供了一個(gè)轉(zhuǎn)換的程序,通過(guò)此程序可以把非受管代碼轉(zhuǎn)換為受管代碼,這個(gè)程序的名稱(chēng)為“tlbimp.exe“。通過(guò)下面的命令就可以完成轉(zhuǎn)換:

tlbimp mydll.dll /out:my.dll

此時(shí)會(huì)產(chǎn)生一個(gè)“my.dll”的類(lèi)庫(kù),這個(gè)類(lèi)庫(kù)中定義了一個(gè)命名空間為“my”,在此命名空間中定義了一個(gè)類(lèi)“Class1”,這個(gè)類(lèi)有一個(gè)方法叫“show”的方法。

四.使用編譯成受管代碼的Active X組件:

其實(shí)這樣說(shuō)已經(jīng)不十分準(zhǔn)確了,因?yàn)锳ctive X組件不可能是受管代碼,此時(shí)的Active X組件已經(jīng)變成了可以被.Net開(kāi)發(fā)語(yǔ)言使用的類(lèi)庫(kù)了。這樣說(shuō)主要是為了更方便理解。有了上面的介紹,可以較方面的完成下列的程序。

    using my ;
  using System ;
  public class Activex
  {
      public static void Main ( )
      {
         Class1 s = new Class1 ( ) ;
         s.show ( ) ;
      }
  }

下圖是編譯后程序的運(yùn)行界面:

ActiveX

  五.總結(jié):

Actvie X組件是一個(gè)龐大的家族,擁有很多功能強(qiáng)大的組件,充分利用這些Active X組件資源,不僅是對(duì)以前的資源的利用,而且有時(shí)也能夠解決許多依靠現(xiàn)有的技術(shù),不便于或者難以解決的問(wèn)題。其實(shí)Active X組件在Visual C#中的使用方法和其在Visual Basic .Net中,以及其他.Net開(kāi)發(fā)語(yǔ)言使用的方法是大同小異的。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 色综合天天综合网国产成人网 | 久久99国产精品 | 久久国产精品99久久久久久老狼 | 亚洲国产精品人人爽夜夜爽 | 精品久久久一区二区 | 精品福利一区二区三区 | 亚洲h网站 | а天堂中文最新一区二区三区 | 欧洲成人午夜免费大片 | 久久久久久久久久一本门道91 | 久久午夜精品影院一区 | 成人激情综合 | 巨大荫蒂视频欧美大片 | 日韩二区三区 | 国产一区二区三区四区视频 | 羞羞视频网站在线观看 | 国产区视频在线 | 青草精品 | 特级淫片裸体免费看 | 国产精品成人久久久久 | 欧美一二三四成人免费视频 | 国产精品成人一区二区三区夜夜夜 | 波多野结衣 一区二区 | 国产成人免费在线 | 成人一边做一边爽爽视频 | 国产精品理论视频 | 久久精品国产亚洲一区二区三区 | 亚洲成人自拍 | 午夜av免费 | 另类国产ts人妖高潮系列视频 | 日韩激情二区 | 国产亚洲欧美在线 | 久久国产成人 | 午夜精品亚洲日日做天天做 | 欧美一区二区三区四区视频 | 国产精品国产三级国产专业不 | 久久久久久毛片免费观看 | 色屁屁草草影院ccyycom | 欧美中文字幕在线 | 精品视频一区二区三区在线观看 | 日日做夜夜操 |