propertyGridpropertyGridpropertyGrid

控件的对象绑定

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;


propertyGrid的正确打开方式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;

二 获取和保存

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

save(t)

其他:

如何更改属性的展示

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


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

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

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

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

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

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


propertyGrid相关推荐

  1. C# 设计时动态改变实体在PropertyGrid中显示出来的属性

    方法一: /// <summary>/// 实体属性处理/// </summary>public class PropertyHandle{#region 反射控制只读.可见属 ...

  2. PropertyGrid自定义控件

    PropertyGrid是一个很强大的控件,使用该控件做属性设置面板的一个好处就是你只需要专注于代码而无需关注UI的呈现,PropertyGrid会默认根据变量类型选择合适的控件显示.但是这也带来了一 ...

  3. [转载]C# PropertyGrid控件应用心得

    最近碰到关于PropertyGrid控件,以前没有使用过,在网上找了一篇不错的文章,转来分享一下!建议查看原文章! 原文链接:http://blog.csdn.net/luyifeiniu/artic ...

  4. 动态可订制属性的 PropertyGrid(转载)

    参考:http://bbs.csdn.net/topics/380095345 参考:http://bbs.csdn.net/topics/390331033 转自:http://blog.csdn. ...

  5. 改变 PropertyGrid 控件的编辑风格(2)——编辑多行文本

    适用场合: 1. 编辑多行文本: 2. 编辑长文本. 步骤一:定义从UITypeEditor 派生的类,示例如下: using System; using System.Windows.Forms; ...

  6. 两点C#的propertyGrid的使用心得

    最近接触C#的PropertyGrid比较多,得到了两个小心得记录一下. 第1点是关于控制PropertyGrid中属性的只读属性的. 我遇到的问题是这样的,我需要在运行时根据SVN的状态动态控制Pr ...

  7. 自定义类在PropertyGrid上的展示方法

    自定义类在PropertyGrid上的展示方法 零.引言 PropertyGrid用来显示某一对象的属性,但是并不是所有的属性都能编辑,基本数据类型(int, double等)和.Net一些封装的类型 ...

  8. WinForm窗体PropertyGrid控件的使用

    使用过 Microsoft Visual Basic 或 Microsoft Visual Studio .NET的朋友,一定使用过属性浏览器来浏览.查看或编辑一个或多个对象的属性..NET 框架 P ...

  9. PropertyGrid 控件使用方法

    编写一个对象,后面传递给 PropertyGrid 来显示: using System; using System.Collections.Generic; using System.Linq; us ...

  10. PropertyGrid控件 分类(Category)及属性(Property)排序

    最近在做表单设计器,设计器上的控件都是我们自己封装的,但每个属性类别里的属性是按照属性的拼音排序的,现在想按照PropertyIndex标识进行排序(PropertyIndex的后三位是用来标识编辑器 ...

最新文章

  1. 在Windows XP系统登录Active Directory域
  2. OCR的备份与恢复方法
  3. 配置Exchange 2010邮箱和邮件大小限制
  4. python解释器调用_python入门-python解释器执行
  5. LAMP环境下动态网站许愿墙的搭建
  6. 李国庆离开当当,广东消委会告长隆,智能校服提供定位功能,全球首个5G火车站来了,这就是今天的大新闻...
  7. 《C专家编程》第二章——这不是Bug,而是语言特性
  8. 水晶报表设置图片高度与宽度
  9. ES5实现ES6的一些方法-call,bind,is,promise
  10. Nginx: error while loading shared libraries: libpcre.so.1解决
  11. 使用树莓派3获取CPU温度
  12. CMU 15-213 Introduction to Computer Systems学习笔记(5) Machine-Level Programming-Control
  13. miui android 版本下载安装,MIUI12.2.2.0稳定版安装包
  14. Kali linux 学习笔记(十三)主动信息收集——端口扫描(UDP扫描、TCP扫描) 2020.2.22
  15. 计算机excel求四分位数,四分位数怎么算excel?
  16. spring boot集成redis
  17. android在ctwap下播放视频,退出播放,切换到ctnet下,视频一直缓冲无法播放
  18. Oracle取某个时间点前后的整半小时的时间点
  19. LaTex如何自动生成参考文献
  20. 周浩正:写给编辑人的信 关于“编辑”

热门文章

  1. 简报 | 法国最大商业银行在以太坊区块链上发行1.12亿美元债券
  2. 关于苹果审核4.3问题的分析
  3. 什么是抖音飞鸽“智能助手”,飞鸽智能助手内容板块介绍
  4. Source Insight 3解决中文乱码,破解版
  5. Android Kotlin Gson解析踩坑记录
  6. FlutterComponent最佳实践之TabbarIndicator
  7. umi+dva+antd项目搭建
  8. HDU 4752 Polygon
  9. 南邮 OJ 2059 S4全球总决赛(2)
  10. 任务七 ,八 管理rpm软件包与压缩包