Visual C 建立和使用ActiveX元件

2021-04-13 21:36:47 字數 1999 閱讀 3583

開發基於.net平台上的

程式設計師是很難從本質上把visual c#和activex元件聯起來,雖然在使用visual c#開發應用程式時,有時為了快速開發或者由於.net framework sdk的不完整,還需要借助activex。但即使如此,也很難把二者聯絡起來。其中的原因就是能夠被visual c#直接使用檔案和通過visual c#生成的可執行程式只可能是託管的檔案。而active x元件卻都是非託管檔案。這種檔案的差異決定了二者本質"對立"。於是這就引出了本文第乙個問題,activex和visual c#到底是何種關係。

一.visual c#和active x元件

此時可能有些朋友會說,既然能夠被visual c#直接使用只能是託管**檔案,那在visual c#中提供的可直接通過引用呼叫activex又是怎麼回事?的確visual c#提供了引用activex元件的操作,這種操作有效的利用了很多以前資源,使得這些資源並沒有隨著

微軟推出.net平台而由於平台的差異被"拋棄",但這種在visual c#中引入activex元件的操作其實並不被微軟公司所倡導,也不符合微軟推出.net的最終目的。這是因為微軟之所以推出.net是為了實現跨平台,為了實現"write once and run anywhere",寫一遍**,可以在任何平台上執行的目的。如果程式中使用了active x元件,這也就從另一方面決定了此程式只能在windows平台上使用,也就無法實現微軟的"write once and run anywhere"最終目標了。

再者visual c#提供的引用activex元件的操作,其實active x元件被加入visual c#的"工具箱"時,visual stuio .net其實對activex元件進行了很多操作,而這些操作又都被visual c#隱藏了,使用者往往並不完全清楚。這些操作的作用就是把非託管的activex元件轉換成託管的元件,這些操作統稱"互操作",細心的程式設計師可能就會發現,當往程式窗體中拖入activex元件後,源程式所在目錄的"bin"目錄中就會新增若干個"dll"檔案,這些檔案就是active x元件進行互操作轉換後生成的。此時在visual c#使用的並不是activex元件,而是由activex元件進行互操作得到可供.net平台使用的、功能和原先activex元件相同的類庫了。

既然在visual c#中不能直接使用activex元件,那種看似在visual c#中使用的activex元件其實使用的是經過了互操作後轉換的類庫。那麼visual c#是否能夠生成active x元件?本文就來**一下visual c#中生成activex元件的實現方法。製作的方法就是首先通過visual c#建立乙個windows元件,然後把其介面以com形式發布即可。

(1).微軟視窗2000 伺服器版。

(2).visual studio .net 2003企業結構版,.net framework sdk 4322。

三.使用visual c#建立windows元件

以下是使用visual c#建立乙個windows元件的實現步驟:

1.啟動visual studio .net。

2.選擇選單【檔案】|【新建】|【專案】後,彈出【新建專案】對話方塊。

3.將【專案型別】設定為【visual c#專案】。

4.將【模板】設定為【類庫】。

5.在【名稱】文字框中輸入【activexdotnet】。

6.在【位置】的文字框中輸入【c:/class】,然後單擊【確定】按鈕,則visual c#則在"c:/class"目錄中建立"activexdotnet"資料夾,裡面存放的是activexdotnet專案檔案,具體如圖01所示:

圖01:建立類庫的【新建專案】對話方塊

7.選擇【解決方案資源管理器】視窗,並從中上傳class1.cs檔案,因為此檔案在本程式中已經沒有用途了。

8.選擇【專案】|【新增元件】後,彈出【新增新項】對話方塊,在此對話方塊中設定【模板】為"元件類",設定【名稱】值為"mycontrol.cs"後,單擊【開啟】按鈕。則在專案檔案中新增乙個名稱"mycontrol.cs"的檔案。具體如圖02所示:

圖02:在專案中【新增新項】對話方塊

轉貼 Visual C 建立和修改註冊資訊

如何用visual c 來建立 修改註冊資訊 王天 2002年01月08日 20 08 在 如何讀取註冊資訊 和 用visual c 來刪除登錄檔中的註冊資訊 文章中,已經 了用visual c 來讀取 刪除登錄檔中的註冊資訊,在本篇文章中我們就來介紹visual c 登錄檔程式設計的另外二個重要的...

建立和使用DLL

首先建立個dll工程 win32控制台 dll工程 新增標頭檔案和cpp檔案,如下 ifndef dll test h define dll test h class declspec dllexport ctest endif include dll test.h include ctest ct...

oracle dblink 建立和使用

需求 本地a訪問遠端b。說明 dblinktest dblink名稱,lixu 本地a使用者,t btable 遠端b庫表。1.a 先確定使用者是否有建立dblink的許可權 select from user sys privs where privilege like upper database...