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

(Shell Infotip 擴展)

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

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