几年前MSDN上的一篇文章《Ten Must-Have Tools Every Developer Should Download Now》中介绍了.NET开发中必备的十大工具,几年过去之后,.NET Framework发展到了3.5版本,这些工具中,有些已经转向商业化,有些因为推出了新的工具而已经停止了开发,有些则继续免费提供给开发者使用。 笔者对.NET开发中必备的十大工具重新做了整理,推出新版.NET开发必备十大工具。本文只是简单的对其进行介绍,更加详细的用法我将会陆续进行讲解。Snippet Compiler Snippet Compiler是一个基于 Windows 的小型应用程序, Read More
该文被密码保护。 Read More
该文被密码保护。 Read More
Visual Studio 提供了IWizard接口,在实现该接口后,您可以在用户根据模板创建项目时运行自定义代码。http://msdn.microsoft.com/zh-cn/library/ms185301(v=vs.100).aspxhttp://msdn.microsoft.com/zh-cn/library/ms247119(v=vs.100).aspxVisual Studio 提供了IWizard接口,在实现该接口后,您可以在用户根据模板创建项目时运行自定义代码。项目模板的自定义可用于:显示收集用户输入以参数化模板的自定义 UI。添加要在模板中使用的参数值。向模板添加其他文件。 Read More
http://www.cnblogs.com/chenxizhang/archive/2010/03/13/1685179.html今天在讲到动态执行方法的时候,我们讨论到了Delegate.CreateDelegate的方法。但也有下面这样的一个更加通用的方法:可以执行任何方法,传递任意个数的参数,而无需定义delegate using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;namespace ConsoleApplication1 Read More
下面代码是今天课程中,有朋友上台做即席演讲时举的一个例子.这个例子不错,概括了动态调用方法的几种情况,包括静态方法,实例方法,方法重载等等using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { //MyClass obj... Read More
2007-01-29 11:21 by 无常, 3368 阅读,8评论,收藏,编辑前言在需要录入数据的字段比较多的表单应用程序中,为了给用户更好的体验,我们通常会将[Enter]键转为[TAB]将输入焦点移到下一个控件,或是将获得焦点的输入控件背景经一个醒目的背景颜色显示等等。以往的做法通常是从TextBox、ComboBox等标准输入控件派生一个新的控件,在新控件中改变击键和在获得/失去焦点时的动作,但此方法的不便之外就是到项目的最后,会增加了一系列的标准控件的小功能扩展控件,增大了后期的维护工作量。在DotNet中,对于类似的对标准控件的“小功能扩展”我们有了更好解决方案,那就是神奇的IE Read More
说起扩展编程组件,我们不得不起到一个接口IExtenderProvider,参考msdn的定义:定义将属性扩展到容器中的其他组件的接口;下面我贴上IExtenderProvider的定义:http://www.cnblogs.com/eastjade/archive/2010/08/10/1796422.html /// <summary> /// 定义将属性扩展到容器中的其他组件的接口。 /// </summary> public interface IExtenderProvider { /// <summary> /// 指定此对... Read More
http://msdn.microsoft.com/zh-cn/library/ms171830(v=vs.80).aspx 必须添加对设计时程序集 System.Design.dll 的引用。此程序集不包含在 .NET Framework 4 Client Profile 中。若要添加对 System.Design.dll 的引用,必须将项目的目标框架更改为“.NET Framework 4”。 此示例演示如何向组件和自定义控件添加智能标记支持。 有关此代码示例的完整说明,请参见演练:向 Windows 窗体组件添加智能标记。///////////////////////////////// Read More
该文被密码保护。 Read More
http://msdn.microsoft.com/zh-cn/library/tbt775x3(v=vs.100).aspx元数据筛选允许设计器在设计时修改组件或控件所公开的属性、特性和事件。例如,Control具有一个名为Visible的属性,该属性确定控件是否可见。但是,无论该属性的值是多少,设计时控件总是应保持可见,以便开发人员可以在设计图面上定位它。Control的设计器在设计时用自己的版本替换Visible属性,以后再恢复此属性的运行时值。若要执行元数据筛选,设计器可以实现IDesignerFilter接口,或者可以向设计时服务提供程序(该程序可在设计时环境中对任何组件执行元数据筛 Read More
http://www.codeproject.com/Articles/4683/Getting-to-know-IExtenderProviderGetting to know IExtenderProviderBy James T. Johnson, 2 Aug 2003 4.88 (65 votes) Download the source code (15.7 Kb)Note: A demo isn't provided because the IExtenderProvider is a design time tool, the runtime value is to b. Read More
WebSite:http://code.msdn.microsoft.com/windowsdesktop/DesignModeDialog-577fd00b/view/SourceCode Read More
MSDN WebSite:http://social.msdn.microsoft.com/Forums/en-US/MEFramework/thread/5f33a6e0-b047-4268-8387-f5751c8d9aa6 Read More
下面的代码示例向您演示如何获取访问大量的 .NET Framework 服务的权限,以便您可以将您的组件和控件集成到设计环境中。http://msdn.microsoft.com/zh-cn/library/ms171822(v=vs.100).aspx示例此代码示例演示如何在您的自定义设计器中访问服务。在此示例中,一个名为DemoControlDesigner的设计器类附加到了DemoControl类,它执行以下操作:使用CreateComponent方法创建Timer组件。使用ShowCode方法启动“代码编辑器”并显示在创建Timer组件时创建的事件处理程序。使用DestroyCompo Read More
写在前面:因为业务的需要,有时会使用到自定义运行时窗体设计器Runtime FormDesigner,实现的功能,就是IDE设计器的简化。设想一下,如果可以在程序运行时,再设计一个Form,然后编译代码,那是多么强大呀。下面介绍几个重要的Runtime FormDesigner,其中大部分来自了微软的官方网站或MSDN。重要的链接资源下面介绍有4个重要的Form设计器,它们是:1,Designerhosthttp://support.microsoft.com/?id=813808INFO: 代码示例演示如何通过使用 VisualC # .NET 创建自定义窗体设计器.Net1.1下运行的Fo Read More
本人英文不好,所以还请大家包涵呀。原文地址:http://www.codeproject.com/Articles/24385/Have-a-Great-DesignTime-Experience-with-a-Powerfulhttp://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=60175&av=75878&display=Mobile摘要:这篇文章描述一个增加了设计功能(TabOrder, UndoEngine,对齐线/网格对齐)的.net 2.0 中DesignSurface扩展类。这个类托管 Read More
MSDN WebSite:http://social.msdn.microsoft.com/Forums/en-US/MEFramework/thread/5f33a6e0-b047-4268-8387-f5751c8d9aa6 Read More
If you are hosting windows forms designer and using DesignerSurface, all components on the form that are visible in design time are accessible through DesignerSurface.ComponentsContainer property:for (int i = 0; i < surface.ComponentContainer.Components.Count; i++){ Console.WriteLine((i + 1) + &q Read More
写在前面:之前已经有两篇文章对Form Designer运行了分析和展示,具体展示了几个重要的开源Form设计器,也介绍了最基本的Form设计器的编写方式。而在介绍Hosting设计器时,没有提及到代码的展示与编译运行机制,下面,本文就对运行时Form设计器的代码转换和编译机制进行分析和学习。下面介绍Designerhost工具。界面效果图代码的产生将注意力投放到SampleDesignerLoader.cs类,上图中Design,C# Source,VB Source,XML视图的变化,都会产生事件,事件处理方法就是SampleDesignerLoader类的Flush方法,表示对当前控件与 Read More