随笔分类 - C#_控件开发
只有注册用户登录后才能阅读该文。
摘要:2007-01-29 11:21 by 无常, 3368 阅读,8评论,收藏,编辑前言在需要录入数据的字段比较多的表单应用程序中,为了给用户更好的体验,我们通常会将[Enter]键转为[TAB]将输入焦点移到下一个控件,或是将获得焦点的输入控件背景经一个醒目的背景颜色显示等等。以往的做法通常是从TextBox、ComboBox等标准输入控件派生一个新的控件,在新控件中改变击键和在获得/失去焦点时的动作,但此方法的不便之外就是到项目的最后,会增加了一系列的标准控件的小功能扩展控件,增大了后期的维护工作量。在DotNet中,对于类似的对标准控件的“小功能扩展”我们有了更好解决方案,那就是神奇的IE
阅读全文
摘要:说起扩展编程组件,我们不得不起到一个接口IExtenderProvider,参考msdn的定义:定义将属性扩展到容器中的其他组件的接口;下面我贴上IExtenderProvider的定义:http://www.cnblogs.com/eastjade/archive/2010/08/10/1796422.html /// <summary> /// 定义将属性扩展到容器中的其他组件的接口。 /// </summary> public interface IExtenderProvider { /// <summary> /// 指定此对...
阅读全文
摘要: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 窗体组件添加智能标记。/////////////////////////////////
阅读全文
摘要:http://msdn.microsoft.com/zh-cn/library/tbt775x3(v=vs.100).aspx元数据筛选允许设计器在设计时修改组件或控件所公开的属性、特性和事件。例如,Control具有一个名为Visible的属性,该属性确定控件是否可见。但是,无论该属性的值是多少,设计时控件总是应保持可见,以便开发人员可以在设计图面上定位它。Control的设计器在设计时用自己的版本替换Visible属性,以后再恢复此属性的运行时值。若要执行元数据筛选,设计器可以实现IDesignerFilter接口,或者可以向设计时服务提供程序(该程序可在设计时环境中对任何组件执行元数据筛
阅读全文
摘要:如题,前几天写了篇C#.Net开发继承UITypeEditor接口的自定义属性编辑器,总觉得不完美,这个控件是用带特殊分隔符的字符串持久化对象,可以打开xx.Designer.cs文件查看Items属性,虽然实现了所要的功能,但走的不是正道,其实有更专业的做法,设计时可以参考ListBox.Items对象的持久化后的代码。人类对探索总是充满好奇心,揣到一副不到黄河心不死的心理,花了一天时间找资料动手研究终于修出正果。(本示例基于开发自定义Component组件详细讲解)ComponentCS组件,继承Component。自定义的属性编辑器,派生UITypeEditor基类。frmTester.
阅读全文
摘要:[ToolboxItem(false)]: 使控件不显示在VS的工具箱中,免得VS的自做聪明。[ToolboxBitmap(typeof(TextBox))][DisplayName("我的文本框")][Description("我的文本框控件")][ToolboxItem(true)][ToolboxItemFilter("MyControls")]public class MyTextBox : TextBox{ public string MyProperty { get; set; }}
阅读全文

浙公网安备 33010602011771号