propertyGrid

p r o p e r t y G r i d propertyGrid propertyGrid

在这里插入图片描述

控件的对象绑定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lead
{
   public class Caves
    {
        public int CaveId { set; get; }
        public string CaveName { set; get; }
    }
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Lead
{
    public partial class FrmModifyParams : Form
    {
        public FrmModifyParams()
        {
            InitializeComponent();

            Caves cv = new Caves()
            {
                CaveId = 2,
                CaveName = "major"
            };

            propertyGrid1.SelectedObject = cv;

        }
    }
}


   public class Caves
    {
        public int CaveId { set; get; }
        public string CaveName { set; get; }
    }
propertyGrid1.SelectedObject = cv;

在这里插入图片描述


p r o p e r t y G r i d 的正确打开方式 propertyGrid的正确打开方式 propertyGrid的正确打开方式

一 显示

第一步,定义显示类

public class TestData
{
    [Category("参数类型1:几何"), Description("半径")]
    public double radius{ get; set; } = 10;

    [Category("参数类型1:几何"), Description("宽度")]
    public double width { get; set; } = 20;

    [Category("参数类型1:几何"), Description("长度")]
    public double length{ get; set; } = 30;
    
    [Category("参数类型2:其他"), Description("颜色")]
    public string color{ get; set; } = "white";

    [Category("参数类型2:其他"), Description("步长")]
    public int stride{ get; set; } = 5;
}

第二步 :拖拽生成控件

第三步:赋值

Test  t = new Test(){
 ***
};
propertyGrid1.SelectedObject = t;

二 获取和保存

XMLHelper

因为已经propertyGrid1.SelectedObject = t;进行绑定,所以直接在界面控件上修改后,直接对t对象进行保存即可。

save(t)

其他:

如何更改属性的展示

PropertyGrid采用Attribute特性来控制属性的显示,除了属性名称、描述之后,还能控制属性是否只读、属性是否显示等等。


DescriptionAttribute -设置显示在属性下方说明帮助窗格中的属性文本。这是一种为活动属性(即具有焦点的属性)提供帮助文本的有效方法。

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

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

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

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

DefaultPropertyAttribute – 表示类的默认属性。在网格中选择某个类时,将首先突出显示该类的默认属性。


设置显示排序方式:

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值