微軟一站式示例代碼庫2010年10月10日更新
下載地址: http://1code.codeplex.com/releases/view/53729
如果您是第一次聽說All-In-One Code Framework這個(gè)項(xiàng)目,請(qǐng)參閱主頁上的相關(guān)介紹http://1code.codeplex.com/, 以及這兩篇blog
All-In-One Code Framework:一站式微軟開發(fā)技術(shù)框架解決方案
微軟一站式開發(fā)技術(shù)框架解決方案 中文說明
Windows Shell 擴(kuò)展 新示例

(Shell Infotip 擴(kuò)展)

(Shell Drag-and-drop 擴(kuò)展)
這是 使用.NET 4編寫Windows Shell Extension 系列示例的第二部分。在.NET 4發(fā)布之前,因?yàn)橐粋€(gè)進(jìn)程最多只能host一個(gè)CLR runtime, 您是不可以使用.NET語言編寫shell extension的。.NET 4.0加入了CLR In-process Side-by-Side 特性。張羿寫過一篇相當(dāng)不錯(cuò)的介紹.NET 4 In Process Side By Side的文章:http://blogs.msdn.com/b/yizhang/archive/2009/08/25/net-4-0-in-process-side-by-side.aspx。>=4.0的CLR是可以多個(gè)并存的,也就是說V4.0,V5.0,v6.0,等等,都是可以和平共處在同一個(gè)進(jìn)程內(nèi)。這使得基于.NET Framework 4.0, 5.0, … 開發(fā)的managed Windows Shell 擴(kuò)展成為可能。在這次發(fā)布中,我們添加了使用.NET 4 C#, VB.NET 語言 和 native C++ 編寫Shell infotip 擴(kuò)展的例子。
CppShellExtInfotipHandler Shell Infotip handler (C++)
CSShellExtInfotipHandler Shell Infotip handler (C#)
VBShellExtInfotipHandler Shell Infotip handler (VB.NET)
CppShellExtDragDropHandler Shell drag-and-drop handler (C++)
ASP.NET 新示例
CSASPNETImagePreviewExtender, VBASPNETImagePreviewExtender
Microsoft Ajax 擴(kuò)展程序控件增強(qiáng)了標(biāo)準(zhǔn) ASP.NET Web 服務(wù)器控件的客戶端功能。通過使用一個(gè)或多個(gè)擴(kuò)展程序控件可以實(shí)現(xiàn)標(biāo)準(zhǔn)的 Web 服務(wù)器控件(如 TextBox 控件、Button 控件和 Panel 控件),從而在瀏覽器中提供更豐富的用戶體驗(yàn)。例如,若要使用戶在向服務(wù)器提交表單之前進(jìn)行確認(rèn),可以使用將客戶端功能添加到 Button 控件的擴(kuò)展程序控件。
一些ASP.NET社區(qū)中的程序員經(jīng)常會(huì)問如何寫一個(gè)自己的ASP.NET Ajax擴(kuò)展控件,就像AjaxControlToolkit里的空間一樣。在這個(gè)例子中,我就一步步地描述了如何創(chuàng)建這么一個(gè)控件。ASPNETImagePreviewExtender擴(kuò)展了標(biāo)準(zhǔn)的Image控件,它讓Image初始化為一個(gè)縮略圖,當(dāng)用戶點(diǎn)擊這個(gè)縮略圖時(shí),客戶端會(huì)自動(dòng)顯示完整的圖片而無需回傳獲取。
CSASPNETAJAXHTMLEditorExtender
HTML編輯器時(shí)AjaxControlToolkit中的一個(gè)AJAX控件。它讓我們可以輸入一些HTML格式的數(shù)據(jù)。由于這是個(gè)非常復(fù)雜的控件,經(jīng)常有人問如何添加一個(gè)自定義的工具欄控件來使HTML編輯器實(shí)現(xiàn)一些自定義的功能。在這個(gè)例子中,我一步步地添加了一個(gè)自定義的工具欄按鈕,并且點(diǎn)擊這個(gè)按鈕,可以讓一個(gè)<H1>標(biāo)記環(huán)繞 所選取的字符串。
CSASPNETAddControlDynamically, VBASPNETAddControlDynamically
此示例演示了如何在ASP.NET頁面中動(dòng)態(tài)地添加各種控件.由于HTTP是無狀態(tài)網(wǎng)絡(luò)傳輸協(xié)議,我們無法知道控件何時(shí)被創(chuàng)建,已經(jīng)控件的狀態(tài)何時(shí)被改變.但所有的這些屬性都可以通過ViewState保存在頁面中.在頁面下一次回調(diào)的時(shí)候,通過讀取ViewState中的信息,我們可以重建這些控件以使得用戶們能夠使用它們。
CSASPNETBingMaps
在某些時(shí)候我們需要在頁面中使用地圖來表示位置以及周圍的信息.而Bing Maps地圖API提供了毫不遜色于Google Map 的地圖控件,并能夠通過編程輕松的控制地圖的地點(diǎn)位置,縮放尺度,顯示模式等屬性.此示例便演示了如何通過簡(jiǎn)單的AJAX在ASP.NET頁面中嵌入Bing Maps地圖。
CSASPNETAutoComplete
此事例演示如何使用Ajax Control Toolkit里面的AutoComplete Control,AutoComplete可以和一個(gè)TextBox控件相結(jié)合實(shí)現(xiàn)類似google suggest的功能;當(dāng)你在TextBox中輸入若干個(gè)字時(shí)在其下面會(huì)彈出一個(gè)panle,里面包含以文本框中文字開頭的關(guān)鍵字列表。
CSASPNETTheme
CSASPNETTheme 示例展示了如何在同一頁面上套用主題布局, 這樣就可以給用戶不同風(fēng)格的頁面而不用重寫頁面代碼。
Office 新示例
CSOfficeRibbonAccessibility, VBOfficeRibbonAccessibility
此示例演示了如何通過Microsoft Active Accessibility API 來做Office 2010的Ribbon用戶界面自動(dòng)化。程序顯示一個(gè)自定義的主窗體,以層次結(jié)構(gòu)來顯示整個(gè)Ribbon界面的架構(gòu)。每頁包含若干組, 每組包含若干控件, 以及如何調(diào)用這些控件的功能。

Windows Base 新示例
CSProcessWatcher,VBProcessWatcher
有時(shí)候我們需要在.Net應(yīng)用程序中監(jiān)控某個(gè)進(jìn)程的創(chuàng)建,修改或者刪除事件。除了使用復(fù)雜的P/Invoke 調(diào)用Native API 之外,有沒有更容易的方式呢?該示例給出了一個(gè)非常簡(jiǎn)便的方式達(dá)到該目的 -- 使用WMI輕松的實(shí)現(xiàn)對(duì)某個(gè)進(jìn)程的創(chuàng)建,修改,刪除事件的監(jiān)控。
CppPlatformDetector, CSPlatformDetector, VBPlatformDetector
這些示例演示了
1。 如何獲取當(dāng)前操作系統(tǒng)的名字,如"Microsoft Windows 7 Enterprise"
2。 如何獲取當(dāng)前操作系統(tǒng)的版本號(hào),如"Microsoft Windows NT 6.1.7600.0”
3。 如何判斷當(dāng)前操作系統(tǒng)是32位的還是64位的。
4。 如何判斷當(dāng)前進(jìn)程或者是當(dāng)前系統(tǒng)上運(yùn)行著的任何一個(gè)進(jìn)程是運(yùn)行在32位模式上,還是64位模式。
WPF 新示例
VBWPFMVVMPractice
這個(gè)示例通過一個(gè)小游戲, 演示了如何在WPF程序中使用MVVM模式.
Windows Forms 新示例
CSWinFormGroupRadioButtons and VBWinFormGroupRadioButtons
我們?yōu)榱藢?shí)現(xiàn)某些功能而在我們的WinForm項(xiàng)目中使用RadioButton,但是我們只能將一組RadioButton放在同一個(gè)容器內(nèi),否則對(duì)于這些RadioButton單選功能將失效。這個(gè)限制使得板面設(shè)計(jì)有些不便。此例子演示了怎樣將不同容器內(nèi)的RadioButton組成一個(gè)組而實(shí)現(xiàn)單選功能。
下載
http://1code.codeplex.com/releases/view/53729
最后,感謝園子里的朋友的一貫支持。如您對(duì)這些示例有任何建議,請(qǐng)聯(lián)系我們: onecode@microsoft.com