演示VB.NET Starter Kits新功能
大家都知道VB.NET Starter Kits加入了新的功能;你也可以創建一個Starter Kit并且輸出到.vsi文件中以與其他人共享。為大家介紹一個利用Amazon Web服務來實現構建一個書目搜索的Starter Kit。
1. 前言
在ASP.NET 1.x時代,微軟首先創建了ASP.NET Starter Kits來幫助開發者加快Web應用的開發。ASP.NET Starter Kits是一些示例ASP.NET應用程序-它們提供代碼作為一個可擴展的模板來完成普通的Web開發任務。每個Starter Kit都是完整的而且被良好歸檔-用戶可以立即用之進行開發活動。
例如,微軟創造的一個Starter Kit-Personal Web Site Starter Kit,它為怎樣構建一個ASP.NET Web站點提供了基本的框架-其中包含一個在線相片畫廊,為實現安全存取的登錄工具,還有一個討論論壇。該Starter Kit僅僅包含了基本功能,而由開發者來定制和增強它以滿足自己的實際需要。這大大提高了開發者的生產效率;同時還提供了通過擴展原始應用程序進行學習的良好途徑。在新出爐的VB.NET Starter Kits中,微軟又進一步擴展了Starter Kits以便包括各種Windows應用程序。
但是,并不是只有微軟才可以創建一個Starter Kit。在本文中,我將向你展示用Visual Studio 2005構建一個Starter Kit并且與團體開發人員一起共用。我將創建的應用程序是類似一個私人書庫的Windows應用程序-它實現把你的書目的詳細信息分檔歸類。這個應用程序使用書的ISBN號來標記你擁有的書;通過這種辦法,這個應用程序可以使用互聯網來檢索有關該書的數據并且你不需要手工地輸入每本書的元數據。你可以通過使用一個條形碼掃描器來把一本書添加到該應用程序中;當然,也可以手工地輸入該書的ISBN號。然后,該程序將從Amazon的Web服務上下載有關該書的詳細信息(包括該書的封面信息)。你還可以從Amazon站點查找書籍,然后把這些書添加到本地數據庫中。
總之,這個應用程序將向你展示Windows Forms 2.0中的下列技術:
·拖放式數據綁定
·數據存取
·改變光標
·使用新型BackgroundWorker控件實現多線程編程
·訪問web服務
2. 創建應用程序
創建Starter Kit的***步是創建Windows應用程序。打開Visual Studio 2005,然后用Visual Basic創建一個新的Windows應用程序并命名該工程為LibraryApp。在缺省的Form1中,我加上了必需的控件(見圖1)。
圖1.Form1:這個屏幕快照顯示了你需要的Form1上的各種控件-你的應用程序的主UI。
在這個程序窗口中,你可以使用諸如一本書的標題或它的ISBN號的關鍵字來查找圖書。點擊"Get Info"按鈕將能夠檢索出與你的查找相匹配的一系列書來。然后,你可以通過點擊"Search Results"列表框中的標題來觀看詳細的書信息。為了把一個標題添加到本地數據庫中,點擊"Add Title"按鈕。你還可以選擇不從Amazon下載該書的封面-不選擇"Show Cover"復選框即可。如果你有一臺條形碼掃描儀,那么可以使用"Auto-add Title"復選框來使添加標題更快些。點擊"View Catalog"按鈕將顯示另一個窗口來顯示存儲在本地數據庫中的書標題列表。
作者注:我不可能向你說明填充這個表單的詳細步驟。為此,我建議你下載伴隨該文的源代碼。同樣,這個應用程序的相關編碼也能從該源碼中找到。
我還把另一個表單添加到了應用程序并加上了一些控件,如圖2所示。這個窗口將顯示存儲在本地數據庫中的書標題列表。點擊"Close"按鈕將關閉該窗口并返回到***個表單畫面。
圖2.Form2:該屏幕快照顯示了你要在示例應用程序的第二個表單Form2上所加入的控件。
另外,你將需要一個數據庫來存儲詳細的書籍信息。添加一個SQL Server 2005 Express版本數據庫到這個工程中并命名它為Library.mdf。圖3顯示出這個數據庫的框架。
***,為了消費來自Amazon的信息,你還需要添加一個到Amazon web服務的Web參考(見圖4)。為了添加一個web服務,右擊解決方案資源管理器中的工程名并且選擇"Add Web References"。然后你可以指定Amazon.com web服務的URL。
圖3.數據庫框架:這個屏幕快照顯示出數據庫Libarary.mdf的框架-用它來存儲書的信息。
圖4.你需要添加一個到Amazon web服務的Web參考。
下面是應用程序的工作方式:你可以在"Search Keywords"文本框內輸入一本書的ISBN并點擊"Get Info"按鈕(見圖5)。"Search Results"列表框將顯示匹配的標題。為了看一下書的詳細信息,你可以點擊在該列表框中的相應的書標題,則相應的詳細信息將被顯示在右邊的窗口中。為了添加標題到本地數據庫,點擊"Add Title"按鈕。
圖5.書籍查找:這個屏幕快照顯示出用戶如何用這個應用程序來進行基于關鍵字的書籍查找。
圖6.關鍵字:這個示例應用程序允許用戶基于關鍵字來搜索你的庫。
我的應用程序使用BackgroundWorker控件(在Windows Forms 2.0中新引入的)來實現多線程,這樣可以確保在訪問Amazon的web服務時用戶界面不會被凍結。它還將顯示沙漏形圖標以指示它處于忙狀態-你需要等待從Amazon返回結果。
這個應用程序被進行了優化以與條形碼掃描儀的使用相一致。典型地,一個條形碼掃描儀功能很似于鍵盤輸入-它掃描進一個條形碼并以數字串輸入(并且添加一個回車符),就象你剛才使用鍵盤輸入它一樣。因此,如果你正在使用一條形碼掃描儀,那么請把焦點定位在"Search Keywords"文本框內并使用掃描儀來掃描條形碼。我的應用程序將自動地檢測由掃描儀返回的回車符字符并且激活"Get Info"按鈕。
除按ISBN號查找書籍以外,你還可以基于關鍵字來查找,見圖6。
為了觀看你添加到數據庫中的書的目錄,你可以點擊"View Catalog"按鈕。Form2將顯示使用DataGridView控件的書目列表(見圖7)。你還可以使用BindingNavigator控件(位于表單頂部)進行記錄導航。
圖7.瀏覽:你可以瀏覽全部目錄
圖8.文檔:Documentation.txt,一文本文件,被添加到Starter Kit。這個文件將隨你的VB.NET Starter Kits的發行一同發行。
【編輯推薦】