CSSL3MediaElement, VBSL3MediaElement
要在Silverlight中制作一个多媒体播放器, MediaElement 控件是不可获缺的. 他提供了播放,暂停等等常用的支持以及其他一些非常有意思的功能. 通过与MediaElement的属性,事件和方法来交互,我们可以很简单地制作自己的多媒体播放器.
在例子中介绍了如何制作一个简单的多媒体播放器, 示范了一些常用事件的作用和使用时的注意事项.最后还介绍了在全屏模式下的小技巧.
CSSL3LocalMessage, VBSL3LocalMessage
此项目实现了一个简单的白板程序, 演示如何使用本地消息(Local Message)在同一台计算机上的两个silverlight程序间传递对象。
CSSL3OOB, VBSL3OOB
本示例演示了如何撰写Silverlight 3 OOB(Out of Browser)应用程序。
它展示了如下功能:
• 用代码安装OOB程序(但是你无法用代码移除OOB程序)。
• 检测某个OOB程序是否已被安装。
• 检查更新。
• 监控网络状况。
CSWin7Direct2D, VBWin7Direct2D, CppWin7Direct2D
Windows 7和Windows Server 2008 R2为我们带来了很多激动人心的新功能,其中最炫的功能之一就是一个全新的图形处理API。它基于DirectX,让你的程序能充分发挥显卡的强大功能,来高效地绘制很复杂的场景。它包括以下三个组件:
• Direct2D:矢量图形处理的API
• DirectWrite:绘制文字的API
• WIC(Windows Imaging Component):处理位图的API。这个在Windows Vista中就已经存在了
本示例概括了使用新的矢量图形处理API(Direct2D)的基本步骤。展示了一个行星围绕着恒星转的场景。当你点击那颗行星时,它将绕着恒星转一圈。 所展示的功能如下:
• 绘制简单的矢量图形(例如椭圆)。
• 绘制复杂的路径(path)。
• 使用PowerShell脚本将Expression Blend生成的XAML代码转换成Direct2D所能识别的C#/VB/C++代码。
• 创建单色刷和渐变刷。
• Render transform(图形变换)。
• Hit test(捕捉用户鼠标点击)。
• 控制z-index。
• Clip path(图形剪辑)。
CppWin7TaskbarOverlayIcons, CppWin7TaskbarProgressBar
应用程序可以在其Windows 7的任务栏按钮上设置 Overlay Icons与Progress Bar以形象地显示其不同的工作状态与任务进度。CppWin7TaskbarOverlayIcons和CppWin7TaskbarProgressBar演示了如何应用 ITaskbarList3 interface下的相关API(SetOverlayIcon, SetProgressState, 以及 SetProgressValue)来设置应用程序任务栏按钮的Overlay Icons以及Progress Bar的进度与状态。
CSShellKnownFolders, VBShellKnownFolders, CppShellKnownFolders
这些sample展示了对Windows Shell 中KnownFolder的操作,比如如何获取正确的Program Files目录路径,如何枚举所有的KnownFolders,如何添加一个应用程序自定义的KnownFolder。
ATLShellExtColumnHandler
这是Shell Extension Column Handler的例子。由于这项功能从Windows Vista开始就被移除掉了,该sample只能在Windows 2000, Windows XP, 2003系统上工作。
CSWinFormBindingNestedProperties
该Winforms sample对应于这篇MSDN blog: How to bind a DataGridView column to a second-level property of a data source。通过示例展示如何绑定多级属性。
CSXmlGeneral, VBXmlGeneral
CSXmlGeneral, VBXmlGeneral两个项目展示如何利用System.Xml命名空间下的类对Xml文件进行一些常规的操作. 在这两个例子中,我们可以看到如何用XMLTextReader和XMLNodeReader来读取Xml的内容. 同事,他们还展示了如何用XDocument类在Xml文件中导航,修改,添加节点并保存到文件.
CSVSToolWindow
VSPackages 是用来扩展Visual Studio集成开发环境的模块。通过VSPackage, 我们可以提供自定义的UI元素,比如工具栏,定制的代码编辑器以及UI设计器, 还通过VSPackage来提供自定义的service。实际上,VSPackage是构成Visual Studio的最基本的单元,Visual Studio 本身就是由众多VSPackage构成的。 本例就是教你如何通过Visual Studio Integration Package Wizard 来创建包含一个ToolWindow的VSPackage,在该实例中,我们将一个Windows Media 控件放在ToolWindow上,你可以通过这个ToolWindow,在Visual Studio 中观看一段视频。
CSTFSDataWarehouseAdapter
演示如何开发TFS的data warehouse adapter。
VBOutlookRibbonXml, VBOutlookRibbonDesigner
这些是VSTO VB.NET的例子对应于过去已经发布的C#例子CSOutlookRibbonXml, CSOutlookRibbonDesigner。演示了如何通过Ribbon XML和Ribbon Designer来自定义Outlook的界面。
CppImpersonateUser
该示例演示了编写C++代码来完成impersonation,对应于过去发布的CSImpersonateUser和VBImpersonateUser示例。
VBCodeDOM
.NET CodeDom示例的VB.NET版本。
CSASPNETMVCCustomActionFilter
CSASPNETMVCCustomActionFilter 事例代码主要演示了如何使用自定义的ActionFilter对ASP.NET MVC的处理流程进行扩展处理。其中包括对 MVC Controller Action类的方法执行进行预处理和后续处理,以及对于Model中的数据进行展示前的修改控制。
VBASPNETImageMap
这段代码演示了如何使用ImageMap控件以及VB.NET语言建立一个介绍太阳系各个行星的网页.当图片中各个行星的图形被点击之后,图片下方的Label会显示出你所选择的行星,并且关于这颗行星的介绍(引自wikipedia)将会在图片下方的iframe区域中显示出来.
CSASPNETReportViewerExport
这个ASP.NET示例演示了如何通过编程手段从ReportViewer控件导出报表到PDF或Excel文件中。
CSASPNETFormViewUpload
这个例子介绍了怎样在一个ASP.NET FormView 控件中显示和上传图片以及怎样实现插入,编辑,更新,删除和分页功能。 所有的图片和数据都存储在一个SQL Server 数据库中。
项目包括了2个页面: Default 和 Image
Default 页面从SQL Server 数据库中接受数据然后填充FormView控件,并且提供数据操作界面。
Image页面从SQL Server 数据库中接受图像并且显示在页面中。
CSASPNETCacheAPI
这个示例演示了如何使用ASP.NET Cache API的功能:依赖文件的Cache,依赖其他Cache对象的Cache,基于absolute and sliding 时间的Cache。
CSASPNETAjaxScriptControl
CSASPNETAjaxScriptControl 实例显示了如何利用Asp.net Ajax ScriptControl模型创建一个Ajax Control。
实例中,实现了一个日程安排控件,允许用户在日历控件中设置不同的任务,并允许用户拖动任务窗口实现修改删除功能。
CSSL3HTMLBridge, VBSL3HTMLBridge
此项目演示了silverlight与JavaScript之间的互操作。项目包含如下4个例子:
• 用托管代码调用JavaScript函数
• 在托管代码中处理html对象事件
• 用JavaScript调用托管代码函数
• 用JavaScript处理托管代码事件
CSWPFDataBinding
CSWPFDataBinding示例展示了在WPF中如何使用XAML语言 和 C# 过程语言来实现数据绑定。
CSWPFMasterDetailBinding
演示了WPF中主从(Master-Detail)绑定的实现。
CSWPFAutoCompleteTextBox
CSWPFAutoCompleteTextBox 示例展示了如何在WPF中实现自动完成输入的TextBox(文本框)控件。
VBVstoGetWrapperObject, VBVstoServerDocument, VBVstoExcelWorkbook, VBVstoVBAInterop
这些sample是过去发布的C# VSTO sample的VB.NET版本。演示了如何得到VSTO Wrapper对象,如何通过ServerDocument类从VSTO Word或Excel文件中提取信息,如何制作VSTO document-level Excel workbook,如何通过VSTO调用VBA macro等等。
CSEFEntityDataModel, VBEFEntityDataModel
这两个示例介绍了如何通过Visual C#和Visual Basic并使用各种不同的方式来操作实体数据模型。它们包含了多对多联系,一对多联系,一对一联系,合并表,拆分表,TPH(table per hierarchy)继承, TPT(table per type)继承。在这两个示例中,你将看到如何使用这些方式,来对实体进行插入,更新,和查询操作。
CSVSService
VS服务是两个不同的VSPackage之间通信的一种方式。 一个VSPackage可以通过支持一组特定的接口,以COM的形式给别的VSPackage提供服务。Visual Studio本身就是很多服务的提供者,通过查询这些服务的接口,我们可以定制Visual Studio的许多功能模块和实现自动化。例如,我们可以通过SVsActivityLog服务获得IVsActivityLog接口,从而调用IVsActivityLog接口提供的方法去写活动日志。 CSVSService示例包括几下的内容:
• 实现了一个VSPackage作为服务提供者,本示例同时提供了一个全局服务和一个本地服务。
• 如何注册我们的服务。
• 如何在其它的VSPackage中使用这个服务。
CppDllCOMServer
COM是Windows下应用非常广泛的技术,许许多多的技术都是基于COM的。例如,ActiveX控制,WMI,甚至是CLR,其本身就是一个巨大的COM服务器。本示例展示了怎样在Win32 DLL工程中创建一个进程内的COM组件,详细的介绍了COM进程内组件的几个基本要素,包括:
• 使用IDL(接口描述语言)定义我们的接口和类型库。
• 介绍IUnknow接口的三个方法:AddRef(),Release(),QueryInterface() 以及如何实现它。
• 如何实现类工厂。
• 全局导出函数的作用以及如何实现它们。
VBExeCOMServer
该示例演示了如何通过VB.NET代码编写进程外COM组件。
CSXPath, VBXPath
演示了如何通过XPath在XML文件中导航和筛选数据。
MFCTaskDialog
这是一个VS2010 Beta2的sample。演示了VS2010 MFC中新增加的类CTaskDialog。
MFCDialog
该示例演示了MFC中模式和无模式对话框的显示。
CSVSPackageInvokeCoreEditor
Visual Studio核心编辑器是Visual Studio默认的编辑器。它支持文字编辑功能包括插入,删除,复制和粘贴。它能与language service结合支持像:语法高亮,代码缩进和智能感知功能。
此示例展示了核心编辑器的基本操作,其中包括了:
1. 初始化核心编辑器,加入IVsTextBuffer和IVsCodeWindow
2. 绑定核心编辑器文件名后缀名,例如:.aio
3. 在工具/选项中提供选项页面,使用户可以选择核心编辑器中的语言(VB, CS和XML)
CSWFLocalService
通过一个猜数游戏演示了Windows Workflow Foundation 3.5中Local Service的特性。
CSIISAdminWMI
演示了通过WMI来配置IIS应用程序。
Data Platform 新示例
CSEFModelFirst, VBEFModelFirst
这两个示例为您展示了如何运用Entity Framework 4.0的新特性Model First来生成DDL,从而最终按照Entity Data Model的结构来建立数据库。同时您将看到一些Visual C#和VB.NET的添加、查询代码以测试新建立的数据库。
CSEFComplexType, VBEFComplexType
这两个示例为您展示了如何在Entity Framework 4.0中玩转复杂类型,包括添加复杂类型的属性到实体类中,将复杂类型映射到对应的数据栏,以及把导入函数的返回值映射为复杂类型。
CSEFForeignKeyAssociation, VBEFForeignKeyAssociation
这两个示例为您介绍了Entity Framework 4.0的一大新特性——Foreign Key Association,并通过对Foreign Key Association和Independent Association的比较,以及展示如何通过这两种关系添加新的相关的数据,添加现有数据的相关数据和更新相关数据,以使您对Foreign Key Association一目了然。
ASP.NET 新示例
CSASPNETCustomDataSourceForRDLC
本示例介绍如何使用自定义的类作为数据源来建立客户端报表, 并使用一个ASP.NET的应用程序来展现客户端报表.
VBASPNETRadioButtonTreeView
这个项目展现了一个包含RadioButtonList的TreeView. 由于原生的TreeView不能在节点之前先是RadioButton, 我们用了两张图片,通过改变TreeNode的ImageUrl属性来模拟RadioButton的效果. 当用户从一列节点中选择了某一项时, 代码将改变节点ImageUrl的值来使其看上起像是一个RadioButton.
CSASPNETImageMap
这段代码演示了如何使用ImageMap控件以及VB.NET语言建立一个介绍太阳系各个行星的网页.当图片中各个行星的图形被点击之后,图片下方的Label会显示出你所选择的行星,并且关于这颗行星的介绍(引自wikipedia)将会在图片下方的iframe区域中显示出来.
CSASPNETExcelImportExport
这个例子介绍了怎样把数据从一个Excel 2003或2007文件导入到SQL Server数据库中,以及怎样将数据从SQL Server表导出到一个Excel 2003或2007文件中。 项目包含两个页面:ExcelExport和ExcelImport。
ExcelExport页面用一个DataTable从SQL Server接收数据, 然后将这个DataTable导出到一个Excel 2003或Excel 2007文件中。
ExcelImport 页面用一个DataTable从一个Excel 2003或Excel 2007文件中接收数据,之后使用SqlBulkCopy将数据高效地批量导入到SQL Server中。
CSASPNETSendMail
CSASPNETSendMail 展示了如何运用System.Net.Mail发送Email
Silverlight 新示例
VBSL3WriteableBitmap
本示例演示了如何在Silverlight 3中使用WriteableBitmap。WriteableBitmap允许你操作位图上的每个象素。
本示例包含以下例子:
• 开枪:选择两幅不同大小的位图,然后程序会把它们所放到同样的分辨率,并且将第二幅画覆盖到第一幅之上。你可以点击上面那幅画,发出一颗子弹,画面上就会出现一个弹痕,并且你将会看透到下面那幅画的内容。该示例演示了如何将位图所放到特定的分辨率,以及如何操作但个象素。
• 填充:该示例实现了一个常见的场景:油漆桶工具。它说明了如何在Silverlight中应用常见的图形学算法,以及怎样模拟CLR调用堆栈来防止过深的递归可能造成的栈溢出问题。
• 截屏:该示例展示了WriteableBitmap的另一个功能:从位图元素以及非位图元素中截屏,以创建新的位图。你可以将结果保存到一个bmp文件中。它也说明了该功能的局限性。
CSSL3IsolatedStorage, VBSL3IsolatedStorage
此项目创建了一个独立存储浏览器。通过使用浏览器,用户可以查看当前silverlight应用程序的独立存储文件系统。同时,浏览器还演示了如下功能:
• 在独立存储中创建目录
• 保存文件到独立存储
• 打开并使用独立存储中的流
• 删除独立存储中的文件/目录
• 增加独立存储容量
• 把独立存储中的文件保存到本地
• 用 IsolatedStorageSettings 保存配置
CSSL3DataBinding
这个例子演示了在Silverlight中如何使用数据绑定. 包括了下面一些常见的问题:
• 如何使用单次/单向/双向绑定
• 如何使用IValueConverter接口
• 如何处理数据验证
• 如何使用元素绑定
• 什么是ObservableCollection
• 数据绑定中遇到的常见问题
WPF 新示例
CSWPFAnimatedImage
这个例子展示了如何动态显示一系列图片(就像一本电子相册),图片切换用了擦除效果。
CSWPFPaging
WPF 中对大量数据进行分页显示的示例。
CSWPFTwoLevelGrouping
WPF 中两层分组绑定的示例。
Visual Studio Extensibility 新示例
CppVsGetServiceBackgroundThread
本示例演示了如何在后台线程中获得一个服务。
在后台线程中,我们不能通过IServiceProvider.QueryService()方法去获得服务。即使在主线程中通过QueryService()方法获得了服务并保存下来,然后在后台线程中使用,这样仍然会失败。为了在后台中获得服务,我们必须在主线程的IVsPackage.SetSite()方法中调用CoMarshalInterThreadInterfaceInStream()将服务提供者列集到一个字节流。这样在后台线程中,我们就可以通过散集来获得这个服务提供者,并使用它来获得服务。
托管代码会自动列集/散集线程间的接口调用,所以本示例以非托管VC++ Package工程来进行演示。
CSVSAutomationOutsideIDE
该示例演示了如何在一个console程序中automate Visual Studio。
CSVSToolbars
这是一个Visual Studio package的例子。其中暴露了一个自定义的toolbar。
Windows Service 新示例
CppWindowsService, CSWindowsService, VBWindowsService
这些是Windows Service最基础的模型。你可以根据自己所使用的编程语言(VC++, C#, VB.NET)对这些基础Windows Service进行扩展,以满足你的业务需要。
Office开发 新示例
CSAutomateVisio, VBAutomateVisio
利用C#或VB.NET来automate Microsoft Office Visio。
XML 新示例
CSXslTransformXml, VBXslTransformXml
演示了如何通过XSLT将XML文件reformat成csv等其他格式的文件。
Library 新示例
VBPInvokeDll
该示例演示了如何在VB.NET代码里PInvoke native C或C++编写的动态链接库里暴露出的方法。
VBLoadLibrary
该示例演示了如何在VB.NET代码里通过调用LoadLibrary和GetProcAddress动态加载和调用native C或C++编写的动态链接库里暴露出的方法。它和PInvoke最大的区别是,VBLoadLibrary里演示的方法允许unload 被加载的native dll。
Azure 新示例
CSAzureWCFWorkerRole, VBAzureWCFWorkerRole
该解决方案是一个最基础的在一个Worker Role中寄宿WCF的例子
总共含有三个项目:
Client项目。这是WCF服务的客户端。
CloudService项目。这是一个普通的Cloud Service项目,含有一个Worker Role.
CSWorkerRoleHostingWCF项目。这是整个解决方案的核心,示范了如何寄宿WCF。
在CSWorkerRoleHostingWCF项目中,WCF服务一共暴露出了两个端点:
一个元数据端点
一个服务端点,服务契约为MyService
这两个端点都使用TCP绑定。
CSAZWorkflowService35, VBAZWorkflowService35
本示例演示了如何在Windows Azure中运行WCF Workflow Service(工作流服务)。它的开发环境是Visual Studio 2008加WF 3.5。
和最初的CTP不同,当前版本的Windows Azure platform AppFabric并未提供工作流服务的组件。不过你可以直接在Windows Azure的Web Role中运行工作流,以及工作流服务。这是因为现在Web Role默认就运行在full trust模式下,满足了工作流的环境需求。
本示例的工作流只包含单个的ReceiveActivity。它把服务接收到的参数同20作比较,分别返回"You\'ve entered a small value."以及"You\'ve entered a large value."客户端程序会两次访问服务,分别传入小于和大于20的两个参数。
CSAZWorkflow4ServiceBus, VBAZWorkflow4ServiceBus
本示例演示了如何通过Windows Azure platform Service Bus,将部署在本地的WCF Workflow Service暴露给Internet以及云。它的开发环境是Visual Studio 2010加WF 4。
当前版本的Windows Azure platform AppFabric是针对.NET 3.5开发的。不过你可以在.NET 4中间使用AppFabric的程序集。
本示例的工作流使用WF 4标准的ReceiveRequest/SendResponse组合。它把服务接收到的参数同20作比较,分别返回"You\'ve entered a small value."以及"You\'ve entered a large value."客户端程序会两次访问服务,分别传入小于和大于20的两个参数。
Silverlight 新示例
CSSL3SocketClient, VBSL3SocketClient
Silverlight拥有Socket API, 从而为Silverlight 网络编程提供了灵活性。此示例演示如何使用Silverlight Socket来和Socket 服务器通讯。同时,示例还简单封装了Socket类,提供传送string类型消息的方法。
CSSL3SocketServer, VBSL3SocketServer
出于安全考虑,在Silverlight Socket客户端连接到Socket服务器之前,它会首先访问服务器的943端口来获取跨域规则(cross-domain policy)并判断是否有权访问Socket服务器。此示例演示了如何创建一个允许Silverlight 客户端接入的Socket服务器。
VSX 新示例
CSVSAddInCommandEvents
本示例演示了如何订阅到VS Shell中的命令事件以及如何动态的改变VS工具栏菜单项的显示文字。
EnvDTE自动化命名空间下提供了CommandEvents接口用于表示VS中的命令事件,在通过DTE.Events.get_CommandEvents()方法得到指定的命令事件后,我们可以在对应的命令执行之前/之后添加我们自定义的处理代码。
在AddIn中,要想动态地改变菜单项的显示文字,我们可以先获得包含对应菜单项控件的CommandBar对象,然后调用CommandBarControl.Caption属性去指定菜单项的显示文字。
CSTFSCustomWorkItemControl
这个示例演示如何在Visual Studio的Work Item UI中使用自定义的控件, 并且在VS IDE中打开另外一个Work Item,类似Work Item Link的功能。
CSVSPackageToolbox
该实例叙述了如何使用通过向导建立以VSpackage, 如何通过反射来获取所有的ToolboxItem ,并加载到Toolbox中。
Security 新示例
CppUACSelfElevation, CSUACSelfElevation, VBUACSelfElevation
这些sample演示了如下经常被问到的编程场景:
1. 如何判断当前进程已经run as administrator (UAC enable的情况下,进程已被elevate)
2. 如何判断运行该进程的用户是否是Administrators 组里的成员
3. 如何判断当前进程的Integrity Level
4. 如何elevate 进程自身使其run as administrator。
WPF 新示例
CSWPFClipboardViewer, VBWPFClipboardViewer
这些代码示例演示了如何在WPF程序中monitor 剪贴板的改变。
Office 新示例
CSOutlookImportedFormRegion, VBOutlookImportedFormRegion
演示了如何在VSTO中导入Outlook Form Storage File (.ofs)
Winbase 新示例
CSCheckOSBitness, VBCheckOSBitness, CppCheckOSBitness
这些示例演示了如何检测当前OS是64位操作系统还是32位操作系统。
Data Platform 新示例
CSEFCodeOnly, VBEFCodeOnly
这两个示例为您展示了如何使用EF4中的一大新特性——Code Only在程序运行时依靠POCO类来创建EDM的元数据和.edmx文件。同时他们还介绍了一些简单的添加、查询的操作以测试由Code Only新建的EDM元数据。
Workflow 新示例
CSWF4FlowChart, CSWF4SequenceWF
分别演示了Workflow 4中的两个特性: FlowChart和Sequence Workflow。
ASP.NET 新示例
CSASPNETRssFeeds, VBASPNETRssFeeds
当你在浏览一些网站的时候,你往往会发现这些网站提供一种叫做RSS订阅的功能.当你在自己的浏览器或者一些第三方的程序以及网站中添加这些订阅的时候,你可以及时地了解到你所感兴趣的网站是否有了更新.在这一个CodeFx的示例中,你将了解到如何为自己的网站创建这样一个RSS订阅功能.它能够是你的用户时时了解到你网站的最近动静并为你的网站增添客观的点击率.
VBASPNETAjaxExtender
VBASPNETAjaxExtender 的实例主要介绍了如何使用ASP.Net Ajax Extender模型创建Extender控件。并且,在实例中描述了创建TimePicker Extender 控件的过程。TimePicker控件是一个时间选择器,用户可以通过拖动时间指针来选择时间。
VBASPNETFormViewUpload
这个示例描述了怎样使用在一个ASP.NET FormView来显示和上传图片, 以及如何在这个FormView控件中实现数据的插入,编辑,更新,删除以及分页功能。 项目一共包括两个页面:Default和Image
Default页使用一个FormView控件来显示SQL Server数据库中的记录,并且提供了数据操作界面。
Image页是用来从SQL Server数据库中接受图片并且将图片显示在页面上。
这个示例使用了SQLServer2005DB数据库。
VBASPNETMenu
这个ASP.NET(VB.NET)示例演示了如何将ASP.NET Menu 控件绑定到数据库,从而动态生成页面导航菜单。
VSX 新示例
CSTFSReports
这个示例演示如何在Visual Studio的使用TFS Warehouse 创建报表. 示例中的报表使用柱状图展示不同时期工作项的数量,如0~10天,11~20天等等。
CSVSPackageCloseOpenedDocument
本示例演示了如何关闭正在被别的编辑器打开的文档。
在Visual Studio中,我们不能用另外的编辑器去打开那些已经被别的编辑器打开的文档。例如:如果我们已经用代码编辑器打开了一个.cs文档,然后试图用XML编辑器去打开这个.cs文档,IDE会弹出一个对话框,告诉我们这个文档已经被别的编辑器打开了,并询问我们是否需要关掉这个文档。
本示例展示了如何使用IVsRunningDocumentTable接口去访问RDT(Running Document Table),找出已经被打开的文档对象并锁住它,然后关掉它。这样我们在通过编程的方式去用不同的编辑器打开这个文档时,就可以避免IDE弹出提示对话框。
PowerShell 新示例
CSPowerShell, VBPowerShell
这两个示例演示了如何在C#和VB.NET中调用执行PowerShell脚本。
Data Platform 新示例
VBUseADONET
演示了VB.NET语言对于ADO.NET的基本操作。
Security 新示例
CppRunAsUser
演示了CreateProcessWithLogonW, CreateProcessWithTokenW, CreateProcessAsUser的区别和使用。将一个应用程序交互性地 run as 在另一个user account下。
Windows Azure 新示例
下载地址:http://1code.codeplex.com/releases/view/42689#DownloadId=113179
CSAzureServiceBusWCFDS, VBAzureServiceBusWCFDS
演示了如何使用Service Bus和WCF Data Services在云端程序访问本地的SQL Server数据。这个项目也提供了一个ASP.NET客户端用于测试服务。你可以很轻松的将这个客户段转换成一个Windows Azure的Web Role,真正的在云端进行测试。
CSAzureTableStorageWCFDS, VBAzureTableStorageWCFDS
演示了如何使用WCF Data Services将存放在Windows Azure Table Storage中的数据发布至全世界。该示例也提供了一个Silverlight客户端用于测试服务。
CSAzureServiceBusSLRest, CSAzureStorageRESTAPI
在一些情况下我们需要调用REST API而不是直接使用SDK提供的StorageClient类。比如,往Table Storage中插入无固定模式的数据,使用其他编程语言些一个”StorageClient”类,等等。本例子说明了如何创建HTTP 消息来调用List Blobs API。你可以重用部分代码来为调用其他REST API添加authentication HTTP消息头。
CSAzureServiceBusSLRest, VBAzureServiceBusSLRest
本示例演示了如何使用Windows Azure platform AppFabric Service Bus将运行与本机的WCF服务暴露给internet上的Silverlight客户端。本示例使用的是一个WCF REST Service,但是同样的方法也适用于其它类型的WCF服务。
WPF 新示例
CSWPFCascadeDataGridComboBoxColumns, VBWPFCascadeDataGridComboBoxColumns
这个例子展示了如何在DataGrid的两个的ComboBox列的下拉列表中显示级联数据。编译和运行这个sample前,你需要安装WPF Toolkit。
Security 新示例
CppCreateLowIntegrityProcess, CSCreateLowIntegrityProcess, VBCreateLowIntegrityProcess
这些是和 UAC 相关的例子。演示了如何通过VC++ 或 C# 或 VB.NET 代码创建一个低integrity level的进程。低integrity level的进程所能访问的资源是非常有限的。比如它们不能往LocalAppData known folder (C:\Users\<username>\AppData\Local)里写数据文件,而只能往LocalAppDataLow known folder (C:\Users\<username>\AppData\LocalLow\)里写。这样的进程是非常安全的。你可以完全相信这样的进程不会对你的系统造成破坏。Protected Mode IE 就是一个典型的low integrity process。
进程间通信 新示例
VBNamedPipeClient, VBNamedPipeServer
这是过去发布的Named Pipe示例的VB.NET版本。演示了如何通过named pipe在进程间传递数据。
VBFileMappingServer, VBFileMappingClient
这是过去发布的 file mapping示例的VB.NET版本。演示了如何通过 file mapping 在进程间共享数据。
线程相关的新示例
CSThreadingBasic, VBThreadingBasic
演示了C#和VB.NET操纵线程的最基本的操作,如创建线程,使用线程池,等。
CSThreadingMonitor, VBThreadingMonitor
演示了C#和VB.NET中如何使用Monitor来做到线程同步。
窗口程序 新示例
CppWindowsOwnerDrawnMenu
演示了如何在C++窗口程序中 owner-draw 菜单项
Data Platform 新示例
VBLinqExtension
VBLinqExtension对LINQ查询的数据源进行了拓展,其中包括了几个简单的LINQ拓展库,比如LINQ to CSV、LINQ to File System、LINQ to Reflection以及LINQ to String。LINQ to CSV的功能是将CSV文件的数据逐行解析成字符串数组;LINQ to File System可以将文件夹中的文件以拓展名进行归类并得到其中最大的文件;LINQ to Reflection的功能是在.NET Assembly中,按函数返回值类型对导出类的函数进行归类;LINQ to String的功能包括了过滤字符串中的数字字符,统计单词的出现频率,以及搜索含有特定单词集合的句子。在今后的发布的All-In-One Code Framework(AIO)中,我们还将新增一些其他的LINQ拓展库,比如LINQ to WMI。
VBUseADO
演示了VB.NET中如何使用ADO (非ADO.NET) 访问数据库。
Windows Forms 新示例
VBWinFormDesigner
都是些Winforms designer相关的典型sample: Adornment (演示了如何在Designer上进行绘制), CustomPropertyTab (演示了如何在属性窗口上添加一个标签页), EnableDesignTimeFuncForChildCtrl (演示了如何让子控件具有设计时的功能), MouseEvents (演示了如何捕捉设计时时的鼠标事件), SmartTags (演示了设计时的智能标签功能), PropertDisplayOrder (演示了如何改变对象的属性在属性窗口上的显示顺序)和CustomUITypeEditor (演示了如何自定义一个设计时的属性编辑器)。
ASP.NET 新示例
CSASPNETChart, VBASPNETChart
这两个是Visual Studio 2010 ASP.NET 4的示例代码。演示了ASP.NET 4 新增的Charting控件
<asp:chart runat="server"/>
CSASPNETRDLCMainSubReport
这个ASP.NET示例演示了如何在RDLC报表内嵌入子报表。
Windows Workflow in .NET 4 (WF4) 新示例
CSWF4Parallel
这个例子主要是为了演示Parallel 活动和ParallelForEach<T> 活动的区别,以及 ForEach<T> 活动和ParallelForEach<T> 活动的区别。
使用Parallel 可以让分支活动在同一线程内实现异步运行的效果。使用ParallelForEach<T> 活动可以实现在同一线程内让ParallelForEach分支异步运行的效果。
Native C++ 和 .NET 互操作相关的示例
这是两个经常被开发人员问道的两个问题:
1. 如何从native C++代码调用一个.NET的assembly?
2. 如何从一个.NET Assembly 调用一个native C++的DLL?
为了更好更全面地回答这两个问题,我把所有的解决方法总结在了一下两篇文章里:
Invoke .NET Assembly from Native C++ Code
Invoke Native C++ DLL from .NET Code
并附上了详细的示例代码。
Name | Description |
CppDynamicLinkLibrary | A native C++ Dynamic-link Library |
CppCLINETAssemblyWrapper | C++/CLI Wrapper for .NET assembly |
CppCLINativeDllWrapper | C++/CLI Wrapper for native DLL |
CppCallNETAssemblyWrapper | C++ indirectly call .NET assembly via C/CLI wrapper |
CSCallNativeDllWrapper | C# indirectly call native DLL via C/CLI wrapper |
VBCallNativeDllWrapper | VB.NET indirectly call native DLL via C/CLI wrapper |
CppHostCLR | C++ host CLR and call .NET assembly |
IIS 新示例
CSIISAdminADSI, VBIISAdmimADSI
这两个例子主要演示了如何通过.Net System.DirectoryServices名称空间使用Internet Information Services (IIS) Active Directory 服务接口 (ADSI)来对IIS进行配置。IIS Active Directory 服务接口(ADSI)提供了一系列丰富的编程接口以便我们可以通过脚本或应用程序来方便灵活地管理Web站点。
Office 新示例
CSVstoWordDocument, VBVstoWordDocument
这个例子演示了我们如何通过VSTO 文档级的扩展在Word 2007 中操作 Content Control。在运行程序以后再Word文档的右边会出现一个由我们自己定制的一个Actions Panel,其中包含了三个按钮,点击任意一个按钮都会实现一个对Content Control的操作,尤其是其中的第三个按钮演示了如何把一个Content Control 绑定到一个XML的数据源。
Azure 新示例
CSAzureTableStoragePaging, VBAzureTableStoragePaging
我们经常需要在使用Table Storage的时候同时使用分页功能。然而,因为当前Table Storage的功能限制,我们只能使用继续令牌来实现简单的前一页/后一页分页。这个例子示范了如何在一个MVC程序中实现Table Storage的该分页功能。
ASP.NET 新示例
CSASPNETMVCPager
这个例子介绍了如何通过自定义htmlhelper扩展方法来实现分页。
在这个例子中我们首先定义了一个Pager的泛型类,该类用来初始化分页的一些基本属性,如总页数,每页显示多少记录等。接着我们在CustomizePager类中定义了一个htmlhelper扩展方法,该方法用于输出页码。
Silverlight 4 新示例
CSSL4COMInterop, VBSL4COMInterop
CSSL4COMInterop和VBSL4COMInterop 示例展示了Silverlight4的一个新特性: COM交互。示例程序通过使用AutomationFactory类,将数据导出到notepad或 MS Word并打印。
Windows 7 新示例
CppWin7MultiTouch
本示例演示如何使用Windows 7的多点触摸功能创建一个简单但是现代化的图片浏览器。你可以用手指对图片进行平移,缩放,旋转,以及倾斜。图片本身使用Windows 7的新技术:Direct2D和WIC来显示。
假如你没有触摸屏,也可以使用ribbon上的命令和图片进行简单的互动。为了保持示例代码的简洁性,本示例并未实现在诸如Expression Design中可以找到的复杂的鼠标交互功能。
CSWPF3DMultiTouch, VBWPF3DMultiTouch
本示例演示如何使用WPF 4的多点触摸功能操作一个3D场景。它绘制了一个地球。你可以用手指让地球沿任意方向旋转(并不只是沿经纬度旋转)。你也可以使用标准的缩放手势来缩放地球。如果你点中了一个Windows Azure的数据中心,一条提示消息会显示出来。
假如你没有触摸屏,也可以使用鼠标来模拟操作。在示例源代码中,你将发现事实上使用WPF的manipulation framework实现多点触摸实要比处理鼠标事件还要简单。
WPF 新示例
CSWPFNavigationUsage
这个例子展示了在WPF应用程序中如何实现浏览。
Data Platform 新示例
CSEFLazyLoading, VBEFLazyLoading
CSEFLazyLoading和VBEFLazyLoading向您展示了如何使用Lazy Loading这一EF4中新增的特性。同时这两个示例也展示了如何使用我们在EF1中早已使用的eager loading和explicit loading,并且对这三种导入相关实体的方法进行了比较。
.NET CLR 4 新示例
CppHostCLR, CSClassLibrary, CSNET2ClassLibrary
.NET 4的CLR引入了in-process side-by-side的新特性。允许你在同一个进程内host多个CLR。CppHostCLR演示了如何在一个native C++的程序里使用CLR 4 的CLR Hosting API, 在一个进程内,载入CLR 4和CLR 2,并在两个CLR内分别调用一个.NET 2.0的class library (CSNET2ClassLibrary)。
Windows Forms 新示例
CSWinFormTreeViewTraversal, VBWinFormTreeViewTraversal
这个示例演示了如何遍历TreeView控件并找寻特定的结点。 有时候我们有列出一棵树的所有节点以及查询某个特定节点的需求。 示例中有一个算法使用了非递归方式来完成这个任务。具体请看FindNode方法的代码逻辑。
CSWinFormDesignerCodeDom, VBWinFormDesignerCodeDom
这个示例演示了如何为控件添加你自己的生成代码。
在这个示例中,如果我们不进行代码自定义,系统将对MyList属性生成如下代码
this.myComponent1.MyList =
((System.Collections.Generic.List<string>)(resources.GetObject("myComponent1.MyList")));
But now we want the code with following format
this.myComponent1.MyList.Add("string5");
this.myComponent1.MyList.Add("string4");
this.myComponent1.MyList.Add("string3");
this.myComponent1.MyList.Add("string2");
this.myComponent1.MyList.Add("string1");
但现在我们希望Visual Studio可以生成以下格式的代码
this.myComponent1.MyList.Add("string5");
this.myComponent1.MyList.Add("string4");
this.myComponent1.MyList.Add("string3");
this.myComponent1.MyList.Add("string2");
this.myComponent1.MyList.Add("string1");
在这里,我们创建了CodeDomSerializer的继承类MyCodeGenerator来完成这个任务。请参看CodeGenerator.cs/CodeGenerator.vb来得到具体信息。
Windows Service 新示例
CppInteractiveWindowsService
该示例演示了Windows Service和用户session 交互的正确做法。Windows Vista 引入了session 0 isolation的概念。运行在Windows Vista和更新的操作系统上的Windows Service便不能直接和用户交互了。如果你的service非得要和用户交互,推荐的方法有如下两个:
1. 调用WTSSendMessage在用户session里显示一个对话框。
2. 通过调用CreateProcessAsUser在用户session里创建一个新的可交互的进程。该进程再和Windows Service进行进程间通信。
CppInteractiveWindowsService便是演示了上述两种solution。
ASP.NET
CSASPNETRssFeeds, VBASPNETRssFeeds
这个项目展示了如何使用ASP.NET新建一个RSS源. 示例中的AddArticle页面用来更新数据库. 我们可以插入, 编辑, 更新和删除一条记录, 即示例中的一份文献, 然后转到RSS页面显示更新. 通过使用XML命名空间写的各种类, RSS页面新建了一个能被用户订阅的RSS源, 这样用户可以在网站有任何变更时收到通知.
CSASPNETImageMap, VBASPNETImageMap
这个项目展示了如何使用ImageMap创建用C#语言编写的太阳系行星系统的说明. 当图片中的行星被单击时, 关于这个行星的简要信息将被显示在图片下面同时iframe将被导航到WikiPedia上关联的页面.
COM
ATLDllCOMServer, CSDllCOMServer, VBDllCOMServer
示例ATLDllCOMServer演示了在Visual Studio 2008中如何使用活动模板库(ATL)向导创建一个进程内组件对象模型服务器(COM Server)。使用ATL是旨在开发高效的,灵活的,轻量级的COM组件以及简化组件开发过程。ATLDllCOMServer叙述了一个ATL单线程单元(STA)中的一个简单对象,包括其属性、方法及事件。
Silverlight
VBSL3Text, CSSL3Text
本示例如何在Silverlight中通过c#语言使用文本。
包括以下特性:
- 创建一个简单的文本
- 使用Run以及LineBreak对象创建文本。
- 使用高级字体创建文本。
- 通过代码选中文本框中的所有内容。
CSADONETDataServiceSL3Client, VBADONETDataServiceSL3Client
本示例展示了如何在Silverlight中访问Ado.Net Data Services。示例中创建了3个代理对应了服务器端的3个不同的服务。分别使用了Ado.Net Entity Data Model,LinqToSQL Data Classes 以及非关系型数据库的普通类型作为数据源本示例展示如何通过访问REST类型服务(Ado.Net Data Services)来进行增删改查。使用的客户端代码都会由代理自动创建
Windows Forms
CSWinFormDesignerCustomPropertyTab, VBWinFormDesignerCustomPropertyTab
CSWinFormDesignerCustomPropertyTab代码演示如何创建自定义的Windows窗体设计时自定义属性选项卡。
Data Platform
SQLServer2005DB
一个SQL Server 2005数据库项目,用于与其他OneCode例子结合演示。
CSADONETDataService, VBADONETDataService
本示例展示了用3种不同的数据源建立ADO.NET Data Services。分别为 ADO.NET Entity Data Model, Linq to SQL Data Classes,以及 普通的非关系型数据。
Windows Shell 扩展 新示例
园子里和各大开发论坛有很多人询问如何使用.NET语言编写Windows Shell 扩展。在.NET 4.0出现之前,使用.NET语言编写Windows Shell扩展是不被官方支持的。你只能通过unmanaged C++进行开发。原因是一个进程只能host一个CLR runtime。假设Windows Shell已经加载了一个.NET 1.0/1.1编写的Windows Shell扩展,当你安装了一个.NET 2.0/3.0/3.5开发的Windows Shell扩展,后者将无法被载入。Jesse Kaplan, CLR team的一位资深项目经理,对此问题有更深入的解释:http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/1428326d-7950-42b4-ad94-8e962124043e。
幸运的是,.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 扩展成为可能。
说了这么多原理,但具体如何开发managed Windows Shell扩展呢?
目前网上演示使用.NET 4 开发Windows Shell 扩展的示例、文档几乎没有。难得找到的几个也存在一些问题,比如无法在x64的操作系统上正常加载。为此,微软一站式示例代码库项目组计划开发一系列的Windows Shell 扩展示例,演示.NET代码编写Context Menu Handler, Property Sheet Handler, Icon handler, Data handler, Drop handler, Drag-and-drop handler, Thumbnail Handler, Icon Handler, Icon Overlay Handler 等等。这次发布的示例包仅仅是这一系列示例的开始。我们提供了如何通过基于.NET 4.0的C#, VB.NET,还有native C++来编写Context Menu Handler。你可以在示例包的Visual Studio 2010 目录下找到他们。附在每个sample上的ReadMe.txt是对这个示例非常详细的文档。
Name | Description | Owner |
CppShellExtContextMenuHandler | Shell context menu handler (C++) | Jialiang |
CSShellExtContextMenuHandler | Shell context menu handler (C#) | Jialiang |
VBShellExtContextMenuHandler | Shell context menu handler (VB.NET) | Jialiang |
CppShellExtPropSheetHandler | Shell property sheet handler (C++) | Jialiang |
Azure 云计算 新示例
CSAzureXbap, VBAzureXbap
设想一个典型的云计算应用场景:你在云中部署一个服务,并且自云端向客户端分发软件,那些软件将与部署在云中的服务交互。
本示例正展示了以上场景。客户端软件是一个XBAP程序,而云中的服务则是一个部署在Windows Azure Web Role中的WCF服务。
Data Platform 新示例
CSEFPOCOChangeTracking, VBEFPOCOChangeTracking
这些事Entity Framework 4的示例。他们演示了如何使用与不使用变化跟踪代理来更新POCO实体对象的属性与关系。相关的MSDN文档可参阅 Tracking Changes in POCO Entities。
Windows Forms 新示例
CSWinFormTreeViewLoad, VBWinFormTreeViewLoad
此示例演示了怎样从一个DataTable生成一个TreeView关系树(例如员工关系树)。
我们使用Dictionary来收集并标识不同父节点的子节点集合List<TreeNode>。然后从上至下的按照每个父节点找出对应的Dictionary项,将其组装到这棵树中,如此循环检查下一层节点的子节点集合并进行组装
Silverlight 新示例
CSSL4WCFNetTcp and VBSL4WCFNetTcp
Silverlight4 支持 netTcpTransportBindingElement, 如此以来,我们有了一个新方式来实现全双工WCF. 在这个例子里,我们创建了一个天气报告订阅程序,演示了如何在Silverlight中调用netTcp 通讯的 WCF.
Windows Base 新示例
CppCheckProcessBitness, CSCheckProcessBitness, VBCheckProcessBitness
一个论坛里经常被问到的问题是:给定一个进程,如果编程知道这个进程是运行在32bit模式还是64bit模式下。CppCheckProcessBitness, CSCheckProcessBitness, VBCheckProcessBitness 演示了这个编程场景。其检查的逻辑是:
1. 所有运行在32位操纵系统上的进程必然都是32位的
2. 在64位操作系统赶上,32位进程可以运行在Wow64环境下。
1) 如果进程是 Wow64进程(IsWow64Process), 它是32位的。
2) 否则,是64位的。
CppUACSelfElevation\CSUACSelfElevation\VBUACSelfElevation
用户账户控制 (UAC)是Windows Vista及后续操作系统中的一个新安全组件。当UAC被完全开启时,管理员的交互操作通常运行在普通用户权限下。这个示例演示了如何去检测当前进程的权限等级,和如何通过许可验证对话框来确认并自我提升此线程的权限等级。
CSLinqToXml\VBLinqToXml
本例阐述了如何在C#中使用Linq to XML从内存对象和SQL Server数据库来创建XML文档。它还同时阐明了在C#中如何写Linq to XML查询语句。当从SQL Server数据库查询数据时它使用了Linq to SQL。 在本例中,您将看到创建XML文档的基本的Linq to XML方法,核心的查询方法以及如何编辑XML文档。
CSSL3SocketClient\VBSL3SocketClient
本项目创建一个套接字客户端示例,它能异步发送字符串消息到服务器和从服务器接收字符串消息 CSSL3SocketServer\VBSL3SocketServer
本项目创建一个套接字socket服务器的示例,它能服务于silverlight和标准的套接字socket客户端。这个套接字socket服务器接受客户端的连接,接收字符串消息和回发响应消息。
CSSL3IsolatedStorage\VBSL3IsolatedStorage
本项目创建一个独立存储器浏览器。使用这个浏览器,用户能查看应用程序独立存储器的虚拟文件结构,也提供如下的文件管理功能:
创建目录
上传本地文件到独立存储器
打开和播放储存在独立存储器中的媒体流
删除目录/文件
增加独立存储器的磁盘配额
从独立存储器保存文件到本地
使用独立存储器设置IsolatedStorageSettings存储/加载配置
CSASPNETAjaxExtender\VBASPNETAjaxExtender
这个CSASPNETAjaxExtender示例演示了如何创建一个ASP.Net Ajax ExtenderControl, 即一个TimePicker允许用户在一个钟面上拖动时针或分针选择一天内的时间.
CSWinFormControls\VBWinFormControls
这个示例阐述了怎样自定义Windows Forms控件。
本示例中,有4个小例子:
1. 拥有多列的组合框。
展示了怎样在组合框的下拉列表中显示多列数据。
2. 每个列表项拥有不同提示的列表框。
展示了怎样为列表框中的每个列表项显示不同的提示。
3. 只能输入数字的文本框。
展示了怎样使文本框只允许输入数字。
4. 一个椭圆形的按钮。
展示了怎样创建一个不规则形状的按钮。
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
CSAutomateWord/VBAutomateWord
CSAutomateWord案例阐述了如何使用Visual C#代码生成Microsoft Word 实例,构建新的Word文档,插入段落、表格,保存文档,关闭Word应用程序及释放非托管COM资源的过程。 Office 自动化建立在组件对象模型(COM)的基础上。当从托管代码中调用Office相关的COM对象时,将自动生成一个运行库可调用包装(RCW)。RCW掌管.NET应用程序与COM对象间的调用,它保存对COM对象进行引用的数量值。 如果RCW上并非所有的引用都被释放,那么Office的COM对象将不会退出,这也将导致Office应用程序在自动化运行后无法终止。为了确保Office应用程序完全退出,示例提供了两种解决方案。
解决方案1. AutomateWord 通过Microsoft Word主要的互用组件(PIA)自动化Word应用程序,并且将每个COM访问对象分配给一个新的变量,使用户最终可以通过调用Marshal.FinalReleaseComObject方法释放这些变量。
解决方案2. AutomateWord 通过Microsoft Word主要的互用组件(PIA)自动化Word应用程序,在自动化方法退出堆栈后执行垃圾收集器(此时RCW对象不再被引用),从而清除RCW并释放COM对象。
----------------------------------
CppCreateLowIntegrityProcess/CSCreateLowIntegrityProcess/VBCreateLowIntegrityProcess
这个代码示例演示了如何启动一个低完整性进程。当你点击本程序中“以低完整等级执行本程序”按钮,此应用程序使用低完整性再次启动一个本程序实例。低完整性进程只能在低完整性区域内写入数据,比如%USERPROFILE%\AppData\LocalLow文件夹或者注册表中的HKEY_CURRENT_USER\Software\AppDataLow键值。即使当前用户的SID在*访问控制列表(discretionary access control list)中拥有写入权限,如果你想要访问一个完整性高的对象,你也将会收到一个无法访问的错误。默认情况下,子进程继承其父进程的完整性等级。要启动一个低完整性进程,你必须使用CreateProcessAsUser和低完整性访问令牌启动一个新的子进程。详细信息请参考示例CreateLowIntegrityProcess中的相关函数。
----------------------------------
CSSL4WCFNetTcp/VBSL4WCFNetTcp
Silverlight4支持netTcpBinding,这给我们提供了一个调用WCF双向通信的新途径。在这个示例中,我们创建了一个简单的天气预报应用来演示怎样在Silverlight中应用netTcp WCF。
----------------------------------
CSASPNETMenu/VBASPNETMenu
这个示例展示了如何绑定 ASP.NET 菜单控件到数据库. 所有菜单的内容都是动态生成的, 如果我们需要在网站中添加新的导航项, 我们只需要数据库中添加或修改相应的数据.这使我们非常方便的完成了一个菜单模块.
----------------------------------
CSASPNETSendMail
CSASPNETSendMail示例如何通过System.Net.Mail收发邮件。
----------------------------------
CSEFForeignKeyAssociation/VBEFForeignKeyAssociation
示例展示了Entity Framework(EF) 4.0的一个新特性,Foreign Key Association。此示例比较了新的Foreign Key Association和Independent Association,并且展示了怎样插入一个新的关联实体,通过两个关联插入已存在的实体和更新已存在实体
ASP.NET 新示例
VBASPNETBingMaps
在某些时候我们需要在页面中使用地图来表示位置以及周围的信息.而Bing Maps地图API提供了毫不逊色于Google Map 的地图控件,并能够通过编程轻松的控制地图的地点位置,缩放尺度,显示模式等属性.此示例便演示了如何通过简单的AJAX在ASP.NET页面中嵌入Bing Maps地图。
CSASPNETAJAXConsumeExternalWebService, VBASPNETAJAXConsumeExternalWebService
在使用Ajax从客户端请求非本地的web service时,我们会遇到“访问拒绝”的错误,这是因为从安全因素考虑,web service不允许从客户端直接跨域请求。很多时候,我们又需要跨域访问web service,那我们该怎么办呢?应该说方法有很多:如果您所访问的外域的web service不受您的控制,那么可以通过从服务器端引用这个service,然后在本地再创建一个web service去消费刚才引用的web service来间接地达到跨域访问的目的,这也是这个例子主要讨论的方法;应外如果您所访问的外域的web service也受您的控制,可以考虑使用JSONP直接从客户端消费外域的web service或者WCF service,这个方法在这个例子中不做详细介绍,MSDN上有一篇文章讨论了这个方法(http://msdn.microsoft.com/en-us/library/cc716898(VS.90).aspx)。
CSASPNETShareSessionBetweenSubDomains
有时候我们会将几个ASP.NET网站发布到不同的子域名里。我们想让这些网站共享Session状态, 这样我们就可以实现统一登录、传递数据之类的。就好像他们是在同一个网站里一样。这个示例就是演示了如何使2个ASP.NET网站在子域名下共享Session状态。
CLR 和 .NET General 新示例
CSEnumerateAppDomains, VBEnumerateAppDomains
判断一个进程是否是托管进程,我们可以检查它是否加载了CLR. 这个示例演示了如何检查一个进程是否加载了CLR, 并通过调试的方式获取该进程的应用程序域.
CSMonitorRegistryChange, VBMonitorRegistryChange
这个示例演示了如何通过WMI来监测注册表键值的变化. 这些变化包括
1 重命名或删除某个键
2 在某个键下新增,重命名或删除子键
3 新增,重命名或删除某个键的值
Silverlight 新示例
CSSL4DataFormCancelButton, VBSL4DataFormCancelButton
我们通过将数据集继承IEditableObject 接口,实现BeginEdit, CancelEdit 和EndEdit 三个方法,实现在DataForm数据修改过程中按取消按钮实现数据重置的功能。
CSSL4DataGridGroupHeaderStyle
这个项目展示了在DataGird控件中如何根据分组层级和每组的标题设定不同的样式。
CSSL4MEF
MEF(Managed Extensibility Framework)是一个协助开发者设计可扩展应用的框架,Silverlight4提供了对MEF的支持。 在这个示例中,我们将利用MEF开发一个简单的文字格式配置工具,借助预定义的接口,用户可以创建插件来扩展工具功能,而且,插件可以被运行时动态加载。
Windows Workflow 新示例
CSWF4CustomSequenceActivity
一般情况下,我们使用WF4 自带的流程活动来构建一个顺序工作流,流程活动是一个组合活动,这个例子展示了如何定制一个组合活动以及其外观。如果你打算去创建你自己的WF4 活动,你可以将此例子作为参考。
CSWF4LongRunningHost
在WF3 中,如果一个工作流延迟并且被钝化到持久化数据库里,当延迟结束的时候,工作流会自动恢复工作。如今,在WF4,我们必须手动去启动工作流,那么,我们能不能也让WF4 工作流做到在延迟结束后自动恢复工作流呢?这里个例子就能做到这一点。
Windows Shell 新示例
CppShellExtThumbnailHandler, CSShellExtThumbnailHandler, VBShellExtThumbnailHandler
(thumbnail provider)
这是 使用.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 thumbnail provider的例子。
下载
http://1code.codeplex.com/releases/view/55110#DownloadId=163650