Visual C#創建和使用ActiveX組件
2007/1/20 17:15:48
開發基于.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項目文件
  7.選擇【解決方案資源管理器】窗口,并從中上傳Class1.cs文件,因為此文件在本程序中已經沒有用途了。
  8.選擇【項目】|【添加組件】后,彈出【添加新項】對話框,在此對話框中設定【模板】為"組件類",設定【名稱】值為"MyControl.cs"后,單擊【打開】按鈕。則在項目文件中新增一個名稱"MyControl.cs"的文件。


9. 把Visual Studio .Net的當前窗口切換到【MyControl.cs(設計)】窗口,并從

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 中文字幕一精品亚洲无线一区| 91精品视频免费| 久久av高潮av无码av喷吹| 波多野结衣同性女恋大片| 国产一区二区不卡老阿姨| 中文字幕激情视频| 在线视频一区二区三区在线播放| 中文字幕一精品亚洲无线一区 | 妖精色av无码国产在线看| 久久人人爽人人爽人人片AV超碰 | 和武警第一次做男男gay| 黄网站色成年片大免费高清| 国产精品黄页网站在线播放免费 | 华人生活自拍区杏吧有你| 金莲你下面好紧夹得我好爽| 国产福利影院在线观看| 91手机在线视频观看| 女人全身裸无遮挡图片| 两个美女脱了内裤互摸网沾| 日本后进式啦啦啦动态| 九九热线有精品视频99| 欧美国产日韩综合| 亚洲男人天堂2017| 男人添女人下部高潮全视频| 又大又硬又爽免费视频| 色综合久久中文字幕综合网| 国产在线观看免费不卡| videos性欧美| 国产精品毛片无码| 97人妻人人做人碰人人爽| 天天影视色香欲综合免费| 一本大道一卡2卡三卡4卡麻豆| 抱着cao才爽| 久久久国产乱子伦精品| 欧美jizz18性欧美| 亚洲国产欧美在线看片一国产| 欧美视频在线免费播放| 亚洲视频在线看| 特级无码毛片免费视频| 免费无码又爽又黄又刺激网站| 精品国产免费一区二区|