下一版本Windowsreg; CE 开发工具Smart Device Extensions for Microsoft Visual Studioreg; .NET...
Larry Roof
Tonked.com
2001年10月23日
上個(gè)月我曾說過我會(huì)前往 Microsoft 學(xué)院,了解下一版本的小型工具的情況。此行的目的是為我不久要撰寫的雜志文章和已簽約的書籍搜集一些背景知識(shí)。但在回來的路上,我改變了我的初衷。我意識(shí)到不能獨(dú)享這些信息,而應(yīng)該與那些定期閱讀我的欄目的忠實(shí) Microsoft? eMbedded Visual Basic? 開發(fā)人員共享。
鑒于此行前我簽訂了一份嚴(yán)格的保密協(xié)議,我決定去尋求一些法律方面的建議 - 反正不管怎樣,我都要這樣做。不知道以前我是否曾提及,除了大街上的 11MB 移動(dòng)無線 Internet 連接以外,硅谷工作的一個(gè)很酷的特點(diǎn)是那些身兼兩職的自由職業(yè)者(例如我的理發(fā)師 Hank)。Hank 喜歡說:“我本來可以當(dāng)一名律師,但我不想在大學(xué)浪費(fèi)那八年時(shí)光”。他在硅谷附近經(jīng)營(yíng)了一家小理發(fā)店,提供免費(fèi)法律咨詢和廉價(jià)的理發(fā)服務(wù)。這就是身兼兩職的自由職業(yè)者的觀念。我認(rèn)為身兼兩職的自由職業(yè)是一個(gè)大有前途的行業(yè)。設(shè)想一下,我們每天總是感到時(shí)間不夠用:沒有足夠的時(shí)間工作、照顧小孩以及應(yīng)付生活中其他一些名目繁多的約會(huì)。其實(shí),解決方法很簡(jiǎn)單 - 減少一半的約會(huì)。
例如,您可以選擇能夠提供精神撫慰的汽車服務(wù)中心。“Roof 先生,趁著我們換汽油、緊輪胎,您干嘛不躺在椅子上休息一會(huì)兒呢?”或者,選擇能為您提供股票行情的快餐店。“Roof 先生,這是您的肉餅和油炸點(diǎn)心,請(qǐng)?jiān)试S我打擾您,放棄科技股可能是個(gè)好主意。”
您應(yīng)明白我的意思了。世事無常,什么都可能發(fā)生。但一如既往,我又跑題了。對(duì) Hank 的訪問讓我失望至極。首先,他告訴我不能輕視那份保密協(xié)議。其次,對(duì)于理發(fā)他拒絕給我打折,盡管我的頭發(fā)比十年前明顯少得多。
但您知道我會(huì)怎么做嗎?無論如何,我還是要與您共享。哈哈哈 - 我要笑對(duì)權(quán)威。那些贊成我的反叛態(tài)度的讀者,請(qǐng)到 www.keeproofsbehindoutofjail.com 站點(diǎn)參加捐贈(zèng)活動(dòng)以表達(dá)您的支持。不用費(fèi)多大功夫,您就可以從這里了解到下一版本的小型工具的具體情況。
注意:以下章節(jié)生動(dòng)、明確而又直觀地介紹了下一版本的 Microsoft 小型工具,但可能不適合未成年人、寵物和啞劇演員閱讀。
將 Visual Basic .NET 引入設(shè)備
如果說下一版本的 Windows? CE 開發(fā)工具將很可能基于 .NET 技術(shù),您應(yīng)該不會(huì)感到驚訝。現(xiàn)在,我可以告訴您事實(shí)的確如此。下一版本的工具將稱為 Smart Device Extensions for Microsoft Visual Studio? .NET。
對(duì)于曾使用過 eMbedded Visual Basic 的開發(fā)人員來說,在移動(dòng)平臺(tái)上使用 Visual Basic .NET 所提供的功能,前景好得簡(jiǎn)直令人難以置信。隨著 Smart Device Extensions for Visual Studio .NET (SDE) 的發(fā)布,Microsoft 所做的工作展現(xiàn)了這一美好前景。SDE 提供了 .NET 框架的小型版本,允許您在 Visual Basic .NET 中生成應(yīng)用程序,并且去除了以往防礙和限制移動(dòng)開發(fā)人員的局限性。有了 SDE,開發(fā)人員便擁有了基于 Visual Basic 語言的工具,可以用來創(chuàng)建強(qiáng)大的應(yīng)用程序,并且秉承了為使用 Microsoft eMbedded Visual C++? 所創(chuàng)建的應(yīng)用程序而保留下來的原有的全部功能和靈活性。
對(duì)于那些仍不得不使用 Visual Basic .NET 的開發(fā)人員而言,最新版本的 Visual Basic 和舊版本的 Visual Basic 之間的差異實(shí)在太大了,無法在本文中盡述。但是,您將看到有關(guān) .NET 小型框架的一般概述,并將了解 Smart Device Extension for Visual Studio .NET 所提供的新集成設(shè)計(jì)環(huán)境。
SDE 包含的內(nèi)容
Smart Device Extensions for Visual Studio .NET 為開發(fā)人員提供了縮微版的 .NET 框架,稱為“.NET 小型框架”。SDE 是一個(gè) Visual Studio 集成包(或稱為 VSIP),內(nèi)置于 Visual Studio .NET 中。與 eMbedded Visual Basic 不同的是,SDE 無法獨(dú)立運(yùn)行。它要求安裝 Visual Studio .NET。除此以外,為使用 SDE 構(gòu)建的 Pocket PC 或 Pocket PC 2002 開發(fā)和配置應(yīng)用程序不需要其他產(chǎn)品。
Smart Device Extensions 包括一組預(yù)先建立的設(shè)備配置文件。嵌入設(shè)備配置文件包含建立特定類型的應(yīng)用程序(針對(duì)特定設(shè)備)所需的信息。例如,其中一個(gè)配置文件允許您使用 WinForms、ADO .NET 為 Pocket PC、Pocket PC 2002 或“Talisker”創(chuàng)建應(yīng)用程序,并賦予您使用 XML Web 服務(wù)的能力。其他配置文件還允許您為蜂窩電話或第三方個(gè)人數(shù)字助理 (PDA) 創(chuàng)建應(yīng)用程序。
配置文件可以特定于某種設(shè)備(如針對(duì) Pocket PC,Pocket PC 通常是針對(duì) Windows CE 平臺(tái)的非特定平臺(tái)),也可以是通用的配置文件(針對(duì)任何已移植 .NET 小型框架的平臺(tái))。
另外,SDE 還包括設(shè)備工具包(以前稱為 SDK)。與 eMbedded Visual Basic 一樣,設(shè)備工具包與 SDE 是分開的,可以獨(dú)立安裝和升級(jí)。
為什么不是 eMbedded Visual Basic 4.0?
您也許想知道:為什么對(duì) Windows CE 的基于 Visual Basic 的開發(fā)工具進(jìn)行這么大的改變?答案很簡(jiǎn)單。現(xiàn)有的 eMbedded Visual Basic 3.0 產(chǎn)品不能滿足高級(jí)開發(fā)的需要。該引擎基于 Microsoft Visual Basic Scripting Edition (VBScript),對(duì)于簡(jiǎn)單的應(yīng)用程序運(yùn)行效果相當(dāng)不錯(cuò),但它有很多缺陷,無法滿足高級(jí)開發(fā)的需要。eMbedded Visual Basic 開發(fā)人員往往要花費(fèi)大量時(shí)間學(xué)習(xí)如何應(yīng)付 eMbedded Visual Basic 內(nèi)在局限性的各種技巧和解決方法。隨著移動(dòng)設(shè)備的不斷普及,設(shè)備開發(fā)人員一直在尋找一種強(qiáng)大的、類型豐富的、面向?qū)ο蟮?Visual Basic 開發(fā)工具,就象在 Visual Basic .NET 中找到的那種工具一樣。他們需要一種能利用 Internet、Web 服務(wù)和 XML 構(gòu)建無線解決方案的工具。Smart Device Extensions for Visual Studio .NET 提供的正是這種工具。Microsoft 已將 .NET 框架移植到 Windows CE,這樣就可以用 Visual C# .NET 和 Visual Basic .NET 編寫面向設(shè)備平臺(tái)的應(yīng)用程序。
.NET 小型框架
如果不首先概要介紹 .NET 小型框架,任何有關(guān) SDE 的討論都將是不完整的。在使用 .NET 技術(shù)開發(fā)應(yīng)用程序的過程中,不管是面向 .NET 框架還是面向 .NET 小型框架,編寫應(yīng)用程序都要利用 .NET 框架類提供的功能,并使用相同的編程模塊。使用 SDE 開發(fā)應(yīng)用程序時(shí),面向的是 .NET 小型框架。
.NET 小型框架包含哪些內(nèi)容?
.NET 小型框架簡(jiǎn)化了智能設(shè)備上的應(yīng)用程序開發(fā)。.NET 小型框架包含兩個(gè)主要組件:公共語言運(yùn)行庫(或稱為 CLR)和 .NET 小型框架類庫。
CLR 是 .NET 小型框架的基礎(chǔ)。它負(fù)責(zé)在執(zhí)行時(shí)管理代碼,以及在加強(qiáng)代碼安全性和準(zhǔn)確性時(shí)提供核心服務(wù)(例如,內(nèi)存管理和線程管理)。面向運(yùn)行時(shí)的代碼(例如 Visual Basic .NET 和 C# .NET)稱為受控代碼,而不面向運(yùn)行時(shí)的代碼(例如 eMbedded Visual C++)稱為非受控代碼或本機(jī)代碼。從某種意義上講,可以將公共語言運(yùn)行庫視為增強(qiáng)的 eMbedded Visual Basic 運(yùn)行庫。
注意:諸如由 Visual Basic .NET(面向 .NET 框架或 .NET 小型框架)生成的受控代碼,是由公共語言運(yùn)行庫處理的。
.NET 小型框架類庫是可重復(fù)使用的類的集合,可以使用這些類快速簡(jiǎn)便地開發(fā)應(yīng)用程序。此框架可以移植到其他平臺(tái)上,不管這些平臺(tái)是由 Microsoft 還是由其他供應(yīng)商創(chuàng)建的。這對(duì)您來說意味著什么?簡(jiǎn)而言之,您現(xiàn)在建立的、在 Pocket PC 上運(yùn)行的編碼技術(shù)和應(yīng)用程序,同樣可以很容易地在其他平臺(tái)上運(yùn)行。例如,運(yùn)行在蜂窩電話上或另一個(gè)供應(yīng)商的 PDA 上(如果已為此平臺(tái)創(chuàng)建了一個(gè) .NET 小型框架版本)。因此,使用 Visual Studio .NET 開發(fā)的編碼技巧可以應(yīng)用到任何支持 .NET 小型框架的平臺(tái)上。
公共語言運(yùn)行庫的功能
公共語言運(yùn)行庫提供了一個(gè)代碼執(zhí)行環(huán)境,用于管理面向 .NET 小型框架的代碼。代碼管理的方式可以是內(nèi)存管理、線程管理、安全管理、代碼驗(yàn)證、編譯以及其他系統(tǒng)服務(wù)。
即使移動(dòng)應(yīng)用程序是使用 Visual Basic .NET 編寫的,且屬于受控代碼,仍能合并動(dòng)態(tài)鏈接庫中的功能。實(shí)際上,有了 Visual Basic .NET 對(duì)數(shù)據(jù)類型和結(jié)構(gòu)的廣泛支持,您可以利用 Windows CE API 實(shí)現(xiàn)使用 eMbedded Visual Basic 時(shí)夢(mèng)寐以求的功能。
注意:與 eMbedded Visual Basic 不同,Visual Basic .NET 提供數(shù)據(jù)類型并包含結(jié)構(gòu)支持,允許您方便地將 Windows CE API 中的功能合并到應(yīng)用程序中。在 Visual Basic .NET 中,使用這些功能的需求遠(yuǎn)遠(yuǎn)低于在 eMbedded Visual Basic 中的需求。該功能允許您創(chuàng)建移動(dòng)應(yīng)用程序,并使之與使用 eMbedded Visual C++ 編寫的應(yīng)用程序中的功能相匹配。
CLR 用于增強(qiáng)性能。它充分利用了實(shí)時(shí) (JIT) 編譯,使受控代碼可以用目標(biāo)平臺(tái)的本機(jī)語言運(yùn)行。此功能允許您創(chuàng)建面向不同平臺(tái)的應(yīng)用程序,且不必針對(duì)運(yùn)行這些應(yīng)用程序的每個(gè)特定平臺(tái)重新編譯或生成可執(zhí)行文件。
.NET 小型框架類庫
.NET 小型框架類庫是可重復(fù)使用的類的集合,這些類與公共語言運(yùn)行庫緊密集成在一起。Visual Basic .NET 應(yīng)用程序利用這些庫來派生功能。
正如您對(duì)面向?qū)ο蟮念悗焖谕哪菢?#xff0c;.NET 小型框架類型使您能夠完成各種常用的編程任務(wù),包括字符串管理、數(shù)據(jù)收集、數(shù)據(jù)庫連接和文件訪問等。
注意:與 eMbedded Visual Basic(它與 Visual Basic 在功能上有很多不同之處)不同的是,Smart Device Extensions 實(shí)現(xiàn)了 .NET 框架的一個(gè)真子集。除了因大小限制、性能問題或目標(biāo)操作系統(tǒng)的局限而不支持的功能以外,包含在 .NET 小型框架中的類所提供的接口與 .NET 框架中等價(jià)的類完全相同。在兩個(gè)版本的 .NET 框架中,類的行為、屬性、方法和枚舉值均相同。這意味著您可以使用 Visual Basic .NET 編碼技術(shù)來創(chuàng)建桌面和設(shè)備應(yīng)用程序。
以下章節(jié)詳細(xì)介紹通過 Smart Device Extensions 可以獲得的功能。
窗體相關(guān)類
小型版本的 .NET 框架實(shí)現(xiàn) System.Windows.Forms 和 System.Drawing 類的子集。這些類可用于為設(shè)備應(yīng)用程序構(gòu)造豐富的、基于 Windows CE 的用戶界面。與這些類的許多交互都由 Visual Studio .NET 的 Windows 窗體設(shè)計(jì)器組件管理。
.NET 小型框架下的 WinForms 實(shí)現(xiàn)包括對(duì)窗體的支持、.NET 框架中的大多數(shù)控件、集成第三方控件的能力,以及對(duì)位圖和菜單的支持。
數(shù)據(jù)和 XML 類
.NET 小型框架包含一系列類,使您可以方便地合并數(shù)據(jù),而不管數(shù)據(jù)源是關(guān)系型的還是非關(guān)系型的。在使用 Visual Basic .NET 創(chuàng)建的設(shè)備應(yīng)用程序中,處理 XML 內(nèi)容非常簡(jiǎn)單。.NET 小型框架下的數(shù)據(jù)和 XML 類的實(shí)現(xiàn)是 .NET 框架中數(shù)據(jù)和類的子集,而小型版本囊括了兩者最常用的功能。
Web 服務(wù)
.NET 框架為 XML Web 服務(wù)提供了深層支持。.NET 小型框架的功能是 .NET 框架所提供功能的子集。最重要的是,使用 Visual Studio .NET 和 SDE 可以創(chuàng)建應(yīng)用程序,允許您從通過 Visual Basic .NET 構(gòu)建的應(yīng)用程序使用 XML Web 服務(wù)。
注意:面向 .NET 框架的 Visual Basic .NET 允許您創(chuàng)建 Web 服務(wù)客戶端和服務(wù)器,而 .NET 小型框架的限制是只能使用 XML Web 服務(wù)。
Visual Basic 支持
Visual Basic .NET 充分利用了 Visual Basic Helper 庫中的 Helper 函數(shù)。.NET 小型框架中包含的 Visual Basic Helper 庫還提供了這些函數(shù)的子集。Visual Basic 開發(fā)人員認(rèn)為 Visual Basic Helper 庫中的函數(shù)是該語言的核心部分,實(shí)際上,這些函數(shù)是由許多您熟悉的關(guān)鍵字組成的。
將 Visual Basic Helper 庫包含進(jìn)來,意味著 eMbedded Visual Basic 開發(fā)人員可以使用很多在 Visual Basic .NET 中經(jīng)常用到的語句和函數(shù)。
注意:.NET 小型框架中包含的 Visual Basic Helper 庫是 Visual Basic .NET 所包含庫的一個(gè)子集。請(qǐng)參閱 Smart Device Extensions 附帶的幫助文檔以確認(rèn)是否支持特定的函數(shù)。
GDI 支持
.NET 小型框架支持基本的 GDI 繪圖元素,包括位圖、筆刷、字體、圖標(biāo)和畫筆。這一功能的加入使 Visual Basic .NET 比 eMbedded Visual Basic 更具有優(yōu)勢(shì)(eMbedded Visual Basic 中的繪圖功能很有限,并且很麻煩)。
基類
.NET 小型框架提供了大量基類,這些類為在 Visual Basic .NET 中工作的開發(fā)人員提供了大量功能。這些基類使您可以編寫豐富的、基于 .NET 的應(yīng)用程序。這些應(yīng)用程序融合了多線程操作、利用網(wǎng)絡(luò)資源和處理文件等功能。
.NET 小型框架中不包括的功能
為了控制 .NET 小型框架的大小,.NET 小型框架不支持以下 .NET 框架功能。
- 打印:與 eMbedded Visual Basic 相同,.NET 小型框架將不支持打印機(jī)管理和打印 API。
- MDI 窗體:Windows CE 不支持多文檔界面 (MDI),因而 .NET 小型框架不包含此功能。
- GDI+:Windows CE 不支持 GDI+,因而 .NET 小型框架不包含此功能。
- 拖放功能:Windows CE 不支持 OLE 拖放功能,因而 .NET 小型框架不包含此功能。
- 二進(jìn)制序列化:.NET 小型框架不支持二進(jìn)制序列化。
開發(fā)環(huán)境
Smart Device Extensions for Visual Studio .NET 是一個(gè) Visual Studio 集成包(也稱為 VSIP),內(nèi)置于 Visual Studio .NET 中。作為 VSIP,SDE 利用了 Visual Studio .NET 提供的集成開發(fā)環(huán)境(也稱為 IDE)。IDE 提供了舊版本的 Windows CE 開發(fā)工具無法比擬的開發(fā)體驗(yàn)。
本節(jié)介紹 Visual Studio .NET IDE 中用于創(chuàng)建 Window CE 應(yīng)用程序的主要組件。
創(chuàng)建新工程
第一次運(yùn)行 Visual Studio .NET 時(shí),將顯示“Start Page”(如圖 1 所示)。“Start Page”用于打開現(xiàn)有工程和創(chuàng)建新工程,包括針對(duì) .NET 小型框架的工程。
圖 1:Visual Studio .NET Start Page
單擊“New Project”按鈕顯示“New Project”對(duì)話框(如圖 2 所示)。可以從該對(duì)話框中選擇模板來創(chuàng)建您的應(yīng)用程序。Smart Device Extensions 在 Visual Basic 和 Visual C# 的工程文件夾中都安裝了一套模板。
SDE 在 Visual Basic Projects 文件夾中安裝了四個(gè)模板。“Pocket PC Application”模板提供了創(chuàng)建 Pocket PC 應(yīng)用程序所需的基本工程配置。此工程模板突出顯示在圖 2 中。
圖 2 顯示了另外兩個(gè)與 Pocket PC 相關(guān)的模板。“Pocket PC Class Library”模板用于構(gòu)造類庫。“Pocket PC Control Library”模板用于創(chuàng)建控件。
注意:增加控件和類庫是 Visual Basic .NET 相對(duì)于 eMbedded Visual Basic 的一項(xiàng)重大改進(jìn),eMbedded Visual Basic 不支持這兩項(xiàng)功能。
圖 2:顯示三個(gè) Pocket PC 相關(guān)模板的“New Project”對(duì)話框
SDE 包含的第四個(gè)模板是“Windows CE Application”模板(如圖 3 所示)。此模板允許您構(gòu)建面向運(yùn)行(支持 .NET 小型框架的)Windows CE 的任何設(shè)備的 .NET 小型框架工程。
圖 3:顯示“Device Project”向?qū)У摹癗ew Project”對(duì)話框
Pocket PC 工程模板與所有設(shè)備模板一樣,為選定的工程類型創(chuàng)建相應(yīng)的初始文件、引用、代碼框架、屬性設(shè)置和任務(wù)。設(shè)備模板充分考慮到了目標(biāo)平臺(tái),而目標(biāo)平臺(tái)反過來會(huì)影響開發(fā)人員能夠使用的 .NET 小型框架庫。
構(gòu)造用戶界面
如果您曾使用過 Visual Studio .NET,則只需少量指導(dǎo)便可以開始使用 Smart Device Extensions。對(duì)于剛開始接觸 .NET 的 eMbedded Visual Basic 開發(fā)人員,以下章節(jié)將引導(dǎo)您逐步了解 Visual Studio .NET IDE 的主要功能。
在創(chuàng)建新工程時(shí),“Start Page”將由空白窗體代替(如圖 4 所示)。
圖 4:Windows 窗體設(shè)計(jì)器
第一眼看上去,Visual Studio .NET IDE 的這一部分與 eMbedded Visual Basic 中的窗體設(shè)計(jì)器很相似。仔細(xì)觀察一下,您會(huì)注意到此窗口的頂部有一組選項(xiàng)卡。在上圖中,顯示了三個(gè)選項(xiàng)卡:“Start Page”、“Form1.vb”和“Form1.vb [Design]”。
我們已經(jīng)了解了“Start Page”,但另外兩個(gè)“Form1.vb”選項(xiàng)卡是干什么的呢?這兩個(gè)選項(xiàng)卡將 eMbedded Visual Basic 窗體界面和 eMbedded Visual Basic 中的窗體代碼模塊關(guān)聯(lián)起來。Visual Studio .NET IDE 允許您使用這些選項(xiàng)卡方便地在用戶界面設(shè)計(jì)和代碼窗口中切換。
新工具箱
Visual Studio .NET IDE 中工具箱的位置與 eMbedded Visual Basic 中工具箱的位置相同,但最初設(shè)為隱藏狀態(tài)。Visual Studio .NET IDE 支持面板在不使用時(shí)自動(dòng)隱藏。在設(shè)計(jì)窗體和編寫代碼時(shí),該功能可提供更多的可用屏幕空間。
在隱藏狀態(tài)下,工具箱(如圖 5 所示)與 IDE 左側(cè)對(duì)齊。將鼠標(biāo)移動(dòng)到“Toolbox”選項(xiàng)卡上,其顯示狀態(tài)將改變(如圖 6 所示)。
圖 5:隱藏狀態(tài)下的 Visual Studio .NET 工具箱
圖 6:可視狀態(tài)下的 Visual Studio .NET 工具箱
Smart Device Extensions 提供的控件
eMbedded Visual Basic 提供的控件很有限,而 Smart Device Extensions 包含了非常豐富的控件,其中很多控件都支持?jǐn)?shù)據(jù)綁定。表 1 顯示了控件列表。
| Button | CheckBox | ColorDialog | ComboBox | ContextMenu |
|---|---|---|---|---|
| DateTimePicker | DomainUpDown | ErrorProvider | GroupBox | HScrollBar |
| ImageList | Label | LinkLabel | ListBox | ListView |
| MainMenu | MonthCalendar | NumericUpDown | OpenFileDialog | Panel |
| PictureBox | ProgressBar | RadioButton | SaveFileDialog | StatusBar |
| TabControl | TextBox | Timer | ToolBar | ToolTip |
| TrackBar | TreeView | VScrollBar | ? | ? |
表 1:Smart Device Extensions 包含的控件
向窗體中添加控件
Visual Studio .NET 工具箱的使用方法與 eMbedded Visual Basic 中的相同。只需在工具箱中選擇控件,然后將其拖放到您的窗體中即可。在圖 7 中,窗體上已經(jīng)添加了一個(gè)按鈕。Visual Studio .NET 在其“Format”菜單下提供了一整套用戶界面配置工具,包括對(duì)齊、尺寸、間距、居中和鎖定位置。
圖 7:向窗體中添加按鈕
管理工程
使用“Solutions Explorer”窗口來管理 .NET 小型框架工程。“Solutions Explorer”窗口在功能上類似于 eMbedded Visual Basic 中的“Project Explorer”窗口(如圖 8 所示),用于訪問和配置工程及其組件。
圖 8:Visual Studio .NET“Solution Explorer”窗口
工程項(xiàng)
eMbedded Visual Basic 所支持的工程項(xiàng)少得令人難以置信 - 只有窗體和標(biāo)準(zhǔn)模塊。而 Smart Device Extensions for Visual Studio .NET 提供了大量的工程項(xiàng)供您選擇。表 2 詳細(xì)說明了所支持的項(xiàng)、對(duì)應(yīng)的文件擴(kuò)展名以及簡(jiǎn)要說明。
| 工程項(xiàng) | 文件擴(kuò)展名 | 說明 |
|---|---|---|
| 程序集信息文件 | .vb | 用于存儲(chǔ)程序集信息(例如版本控制和程序集名稱)的文件。 |
| 程序集資源文件 | .resx | 在 Localized 屬性設(shè)為 TRUE 時(shí),該文件包含工程的本地化信息。 |
| 位圖 | .bmp | 空白位圖圖像文件,可用于創(chuàng)建簡(jiǎn)單的圖像。 |
| 類 | .vb | 代碼文件,開始時(shí)包含一個(gè)簡(jiǎn)單的空類聲明。 |
| 代碼文件 | .vb | 空的 Visual Basic 或 Visual C# 代碼文件,不包含任何代碼。 |
| 組件類 | .vb | 具有可視設(shè)計(jì)器的類(業(yè)務(wù)對(duì)象)。 |
| 光標(biāo)文件 | .vb | 創(chuàng)建自定義光標(biāo)的圖像文件。 |
| 自定義控件 | .vb | 非可視化設(shè)計(jì)的 Windows 控件(即沒有圖形設(shè)計(jì)界面)。必須通過編寫代碼來創(chuàng)建該控件。 |
| 數(shù)據(jù)表單 | .vb | 數(shù)據(jù)表單,用于輔助創(chuàng)建數(shù)據(jù)連接。 |
| 數(shù)據(jù)集 | .xsd | XSD 架構(gòu),為數(shù)據(jù)集(用于以編程方式訪問數(shù)據(jù))生成類。 |
| 動(dòng)態(tài)發(fā)現(xiàn)文檔 | .vsdisco | 有時(shí)稱為 disco 文件,為枚舉所有 Web 服務(wù)和 Web 工程中的所有架構(gòu)提供了一種方法。 |
| 圖標(biāo)文件 | .vb | 創(chuàng)建自定義圖標(biāo)的圖像文件。 |
| 繼承的窗體 | .vb | 通過可視繼承方法從另一個(gè)窗體中派生的 Windows 窗體。從另一個(gè)窗體中繼承時(shí),將把該窗體作為初始窗體。然后,您可以可視地添加或改變其內(nèi)容。 |
| 繼承的用戶控件 | .vb | 類似于用戶控件,只不過它是從另一個(gè)現(xiàn)有用戶控件派生而來的。 |
| 模塊(僅 Visual Basic) | .vb | 代碼文件,開始時(shí)包含一個(gè)用于存儲(chǔ)函數(shù)的文件。 |
| 靜態(tài)發(fā)現(xiàn)文件 | .disco | 用于發(fā)布有關(guān) Web 服務(wù)的信息。 |
| 文本文件 | .txt | 空文本文件。 |
| 用戶控件 | .vb | 可以放在 Windows 窗體上的控件(可視元素)。具有一個(gè)可視設(shè)計(jì)器。 |
| Windows 窗體 | .vb | 基本 Windows 窗體,可用于本地應(yīng)用程序。具有一個(gè)圖形化設(shè)計(jì)表面。 |
| XML 文件 | .xml | XML 文檔文件。 |
| XML 架構(gòu) | .xsd | 不含有生成的類的 XSD 架構(gòu)文件。 |
表 2:Smart Device Extensions 提供的支持文件類型
配置屬性
Visual Studio .NET“Properties”窗口允許您配置窗體和控件的屬性。如圖 9 所示,“Properties”窗口提供了按分類排序和按字母排序的視圖。分類視圖可以折疊或展開,以方便地處理特定的屬性集。
圖 9:Visual Studio .NET“Properties”窗口
注意:與 eMbedded Visual Basic 的相應(yīng)控件相比,Visual Basic .NET 中控件的某些屬性名發(fā)生了一些變化。例如,Visual Basic .NET 按鈕提供 Text 屬性,代替了原來的 Caption 屬性。
添加代碼
如圖 10 所示,Visual Studio .NET 代碼窗口與 eMbedded Visual Basic 版本相似。主編輯區(qū)域包含了新增的功能(可以折疊和展開代碼部分)。此窗口左上部的組合框用于選擇類,而 eMbedded Visual Basic 中的這個(gè)區(qū)域則用于選擇對(duì)象;代碼窗口右上部的組合框用于選擇方法,而 eMbedded Visual Basic 中的這個(gè)區(qū)域則用于選擇過程。Visual Studio .NET 代碼窗口支持自動(dòng)完成語句,包括自動(dòng)列出成員和提供參數(shù)信息。
圖 10:演示了 Microsoft? IntelliSense? 的 Visual Studio .NET 代碼窗口
注意:Visual Basic .NET 支持重載方法。對(duì)于專門使用 eMbedded Visual Basic 的開發(fā)人員,重載是一個(gè)新概念。簡(jiǎn)單地說,重載允許您多次聲明一個(gè)方法,而每次都可以使用不同的參數(shù)列表。在上圖中,您可以注意到在方法說明窗口的左下部新增了導(dǎo)航功能。此導(dǎo)航工具可以幫助您選擇最能滿足開發(fā)需要的方法說明。需要注意的是,Visual Basic .NET 要求為方法定義的所有參數(shù)提供值。Visual Basic .NET 不支持可選參數(shù)。
Visual Basic .NET 窗體背后的代碼
使用 Visual Basic .NET 創(chuàng)建窗體時(shí),實(shí)際上是創(chuàng)建用于定義窗體界面的代碼。這一點(diǎn)不同于 eMbedded Visual Basic。在 eMbedded Visual Basic 中,窗體的定義與窗體的代碼是分開說明的。
Windows 窗體設(shè)計(jì)器自動(dòng)生成這些代碼,并將其添加到窗體的代碼模塊中,如圖 11 所示。開發(fā)人員通常看不到這些代碼,而只能作為一個(gè)區(qū)域來引用。此區(qū)域具有一個(gè)標(biāo)簽,標(biāo)題為“Windows Form Designer generated code”。
注意:窗體的這一部分是由 Visual Studio .NET 的“Windows Form Designer”組件創(chuàng)建和維護(hù)的。不要手動(dòng)修改這部分代碼,否則可能產(chǎn)生無法預(yù)測(cè)的結(jié)果。
圖 11:隱藏了所生成代碼的代碼段
可以單擊代碼窗口最左側(cè)的加號(hào) (+) 和減號(hào) (-) 符號(hào)來展開和折疊區(qū)域。展開由 Windows 窗體設(shè)計(jì)器生成的代碼,可以顯示用于定義窗體界面的代碼,如圖 12 所示。
圖 12:顯示了所生成代碼的代碼段(請(qǐng)注意窗體和控件的定義)
配置工程
工程屬性通過“Property Pages”對(duì)話框配置。可通過單擊“Project”菜單下的“Properties”訪問此對(duì)話框,或在“Solution Explorer”中的工程上單擊鼠標(biāo)右鍵,然后從彈出菜單中選擇“Properties”,如圖 13 所示。
圖 13:訪問工程屬性
“Property Pages”對(duì)話框(如圖 14 所示)可用于配置工程的所有內(nèi)容,包括平臺(tái)、設(shè)備類型和目標(biāo)輸出文件夾等設(shè)備部署細(xì)節(jié)。
圖 14:配置工程屬性
生成應(yīng)用程序
要生成應(yīng)用程序,請(qǐng)從“Build”菜單下單擊“Build”。將出現(xiàn)“Output”窗口(如果當(dāng)前未顯示該窗口),如圖 15 所示。
圖 15:顯示工程生成結(jié)果的 Visual Studio .NET“Output”窗口
“Output”窗口用于顯示部署消息、異常處理和狀態(tài)通知。部署消息包括設(shè)備信息、源文件夾和目標(biāo)文件夾、文件信息以及內(nèi)存使用情況。異常處理信息包括連接超時(shí)、內(nèi)存不足、未找到路徑、拒絕訪問、共享沖突、取消的部署以及其他無法預(yù)測(cè)的錯(cuò)誤。狀態(tài)信息包括成功、失敗以及跳過的項(xiàng)。請(qǐng)參考“Output”窗口尋求解決編譯和部署問題的方法。
測(cè)試應(yīng)用程序
與 eMbedded Visual Basic 類似,Smart Device Extensions 允許您在模擬器或在設(shè)備上測(cè)試應(yīng)用程序。與 eMbedded Visual Basic IDE 類似,對(duì) Visual Studion .NET IDE 的 SDE 增強(qiáng)提供了一個(gè)菜單欄界面(如圖 16 所示),允許您選擇測(cè)試目標(biāo)。
圖 16:選擇部署目標(biāo)
本文總結(jié)
誠如您所知,我只是簡(jiǎn)單設(shè)想了一下在 Windows CE 操作系統(tǒng)下基于 Visual Basic 開發(fā)的前景。多少年來,我先后嘗試過用 Visual Basic for CE 和 eMbedded Visual Basic 完成我想做的工作,而今一個(gè)既酷又強(qiáng)大的替代工具馬上即將問世了。在不久的將來,就可以找到 SDE 測(cè)試版,以便練習(xí) Visual Basic .NET 的使用技巧。您需要通過此方法來完成這種轉(zhuǎn)變。
返回原路
這就是本月的話題。希望您現(xiàn)在明白了我為什么無法獨(dú)享這一信息。在接下來的幾個(gè)月內(nèi),我希望能夠找到更多的文章,并且拋開 SDE 的理論知識(shí),開始介紹使用這個(gè)強(qiáng)大的新工具來實(shí)際創(chuàng)建應(yīng)用程序的要點(diǎn)。這個(gè)月我會(huì)前往洛杉磯,在 PDC 上演講從 eMbedded Visual Basic 到 SDE 的演變,并到海上進(jìn)行一些必要的沖浪運(yùn)動(dòng)。到時(shí)再見吧,現(xiàn)在,我要?jiǎng)由砹恕?/p><!--- end main ---><!--- end --->
轉(zhuǎn)載于:https://www.cnblogs.com/hehe520/archive/2001/12/05/6329839.html
總結(jié)
以上是生活随笔為你收集整理的下一版本Windowsreg; CE 开发工具Smart Device Extensions for Microsoft Visual Studioreg; .NET...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭州飞机票多少钱啊?
- 下一篇: 教师节快乐!