摘要:
上一篇文章我已经介绍了TypeConverterAttribute元数据的作用,本文将通过代码向你展示具体的实现。在这个例子中,我要给控件添加一个复杂的属性,这个属性对这个控件没有什么功用,纯粹是为了演示,有些牵强附会了。 现在在前一篇文章中的创建的控件代码中添加一个Scope属性: [Browsable(true)] public Scope Scope { get { return _scope; } set { _scope = value; } } 这个属性的类型是Scope类,代码如下:public class Scope { private Int32 _min; private 阅读全文
摘要:
在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器,现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义。 要实现一个类型转换器,我们必须要重写(override)四个方法: CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我们只提供转换string和InstanceDescriptor类型的能力。 CanConvertTo()――根据类型参数进行测试,判断是否能从当前类型转换成指定的类型。 ConvertTo()――将参数value的值转换为指定的类型。 ConvertFrom()――串换参数v 阅读全文
摘要:
Visual C#是微软公司.NET FrameWork框架中的一个重要组成部分,也是微软公司极力推荐的新一代程序开发语言。C#开发WinForm是.Net开发平台中对Windows Form的一种称谓。.Net 为C#开发WinForm的应用程序提供了丰富的Class Library(类库)。这些WinFrom 类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms.在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得我们的程序有着多样的用户界面。本文就试图通过一个最基本的 阅读全文