WINFROM.PropertyGrid学习(一)

更改属性的显示方式
要更改某些属性的显示方式,您可以对这些属性应用不同的特性。特性是用于为类型、字段、方法和属性等编程元素添加批注的声明标记,在运行时可以使用反射对其进行检索。下面列出了其中的一部分:

  1. DescriptionAttribute -
    设置显示在属性下方说明帮助窗格中的属性文本。这是一种为活动属性(即具有焦点的属性)提供帮助文本的有效方法。可以将此特性应用于
    MaxRepeatRate 属性。

  2. CategoryAttribute -
    设置属性在网格中所属的类别。当您需要将属性按类别名称分组时,此特性非常有用。如果没有为属性指定类别,该属性将被分配给杂项
    类别。可以将此特性应用于所有属性。

  3. BrowsableAttribute –
    表示是否在网格中显示属性。此特性可用于在网格中隐藏属性。默认情况下,公共属性始终显示在网格中。可以将此特性应用于SettingsChanged 属性。

  4. ReadOnlyAttribute – 表示属性是否为只读。此特性可用于禁止在网格中编辑属性。默认情况下,带有 get 和 set
    访问函数的公共属性在网格中是可以编辑的。可以将此特性应用于 AppVersion 属性。

  5. DefaultValueAttribute –
    表示属性的默认值。如果希望为属性提供默认值,然后确定该属性值是否与默认值相同,则可使用此特性。可以将此特性应用于所有属性。

  6. DefaultPropertyAttribute –
    表示类的默认属性。在网格中选择某个类时,将首先突出显示该类的默认属性。可以将此特性应用于 AppSettings 类。

    [DefaultProperty("Name")]
    public class AppSetting
    {
        [Category("人员基本信息")]
        [Description("年龄")]
        [Browsable(true)]
        [ReadOnly(false)]   
        [DefaultValue(18)]
        public int Age { get; set; }
        [Category("人员基本信息")]
        [Description("身高")]
        [Browsable(true)]
        [ReadOnly(false)]
        [DefaultValue(0)]
        public double Height { get; set; }
        [Category("人员基本信息")]
        [Description("姓名")]
        [Browsable(true)]
        [ReadOnly(false)]
        [DefaultValue("")]
        public string Name { get; set; }
        [Category("人员基本信息")]
        [Description("性别")]
        [Browsable(true)]
        [ReadOnly(false)]
        public Gender Gender { get; set; }
        [Category("人员基本信息")]
        [Description("婚姻状况")]
        [Browsable(true)]
        [ReadOnly(false)]
        public bool Marriage { get; set; }
   }

//对象绑定控件
 AppSetting appSetting = new AppSetting();
        private void Form1_Load(object sender, EventArgs e)
        {
            this.propertyGrid1.SelectedObject = appSetting;
           
        }

效果如下:
在这里插入图片描述
参考文章

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值