用户操作
[即时聊天] [发私信] [加为好友]
蓝鬼ID:zoulng
10238次访问,排名11308(-1),好友0人,关注者0人。
zoulng的文章
原创 14 篇
翻译 0 篇
转载 0 篇
评论 24 篇
最近评论
teckychang:太好了, 谢谢你, 这篇文章对我很有用 :)
zz:图在那里呢
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 定义组件属性的缺省值收藏

    新一篇: 编写与.net属性窗口交互的RAD组件(五) | 旧一篇: 好像有BUG,发表和查看我的文档的时候报错了

    组件属性的缺省值有两种指定方法:
    一、使用属性的特性类来描述
    比如如下声明一个类的属性
    public class MyClass
    {
    private int myProperty;
    [DefaultValue(3)]
    public int MyProperty
    {
    get{ return myProperty;}
    set
    {
    if(myProperty!=value)
    myProperty=value;
    }
    }
    ....
    }
    更为通用的特性描述是这样定义的 [DefaultValue(typeof(<MyType>),<FormatString>)]  其中<MyType>是Color,Font,Point,Int,String,float...等常见数据类型,<FormatString>就是<MyType>的ToString()方法输出的格式文本字串(通常是这样,当然如果类型在实现ConvertFrom时定义的格式不同就另当别论了),下面是例子:
    [DefaultValue(typeof(Color),"White")]以及
    [DefaultValue(typeof(Point),"{X=110,Y=120}")]等等...
    二、使用ShouldSerialize<PropertyName>方法
    这种方法的特殊性在于方法的命名上有约定,命名必须以ShouldSerialize开头,然后返回类型必须是bool类型,方法实现中要定义该属性的与缺省值的比较逻辑,如果设计器在调用这个方法之后返回true,就粗体显示属性值,这通常用于一些很复杂的类属性,如Font或自定义类型。另外,一般优良的设计都还同时实现Reset<PropertyName>方法,以在设计器中激活“重置”菜单项。
    关于组件属性的特性设定请看我整理的《编写与.net属性窗口交互的RAD组件》

    发表于 @ 2005年03月23日 23:28:00|评论(loading...)|编辑

    新一篇: 编写与.net属性窗口交互的RAD组件(五) | 旧一篇: 好像有BUG,发表和查看我的文档的时候报错了

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 蓝鬼