#1- PropertyGrid概述
#2-PropertyGrid基础应用
1修改一下button1的text窗口布局如下:
Text = "绑定自定义类"
绑定自定义类
2创建自定义类SysRole并绑定到propertygrid
2.1类定义
/// <summary>
/// 系统角色类1
/// </summary>
public class SysRole
{
public string role_id { get; set; }
public string role_name { get; set; }
public DateTime d_time { get; set; }
public string s_note { get; set; }
}
2.2绑定自定义类sysRole,代码如下:
private void button1_Click(object sender, EventArgs e)
{
//绑定自定义类
propertyGrid1.SelectedObject = new SysRole();
}
2.3运行效果
绑定SysRole所有的属性都显示在【杂项】下面,属性名就是类里定义的属性名。
3重新分组显示属性
只需要在属性前面加个 [Category("角色")]即可。
3.1类定义
/// <summary>
/// 带分组的系统角色类
/// </summary>
public class SysRole2
{
[Category("角色")]
public string role_id { get; set; }
[Category("角色")]
public string role_name { get; set; }
public DateTime d_time { get; set; }
public string s_note { get; set; }
}
3.2绑定代码
private void button2_Click(object sender, EventArgs e)
{
//2绑定带分组的类
propertyGrid1.SelectedObject = new SysRole2();
}
3.3运行效果
带分组的类4属性显示中文
只需要在属性前面加[DisplayName("角色ID")]即可
4.1类定义如下:
/// <summary>
/// 中文显示
/// </summary>
public class SysRole3
{
[Category("角色"), DisplayName("角色ID")]
public string role_id { get; set; }
[ Category("角色"), DisplayName("角色名称")]
public string role_name { get; set; }
[ DisplayName("更新日期")]
public DateTime d_time { get; set; }
[ DisplayName("注释")]
public string s_note { get; set; }
}
4.2绑定代码
private void button3_Click(object sender, EventArgs e)
{
//3绑定中文显示的类
propertyGrid1.SelectedObject = new SysRole3();
}
4.3运行效果
绑定中文显示5属性加详细说明
只需要在属性前面加[Description("角色ID")]即可
5.1类定义
/// <summary>
/// 带说明的类
/// </summary>
public class SysRole4
{
[Description("角色ID"), Category("角色"), DisplayName("角色ID")]
public string role_id { get; set; }
[Description("角色名称"), Category("角色"), DisplayName("角色名称")]
public string role_name { get; set; }
[Description("更新日期"), DisplayName("更新日期")]
public DateTime d_time { get; set; }
[Description("注释"), DisplayName("注释")]
public string s_note { get; set; }
}
5.2绑定代码
private void button4_Click(object sender, EventArgs e)
{
//4绑定带说明的类
propertyGrid1.SelectedObject = new SysRole4();
}
5.3运行效果
最终效果6属性值的初始化
6.1类初始化后再绑定
private void button5_Click(object sender, EventArgs e)
{
//5初始后再绑定
SysRole4 sr = new SysRole4() { role_id = "9998",role_name = "测试官"};
propertyGrid1.SelectedObject = sr;
}
6.2运行效果
初始化后运行效果7其他未尽事宜
7.1编辑
编辑修改和再VS2010的【属性】窗口是一样的,编辑器也很丰富,
比如字符型的直接输入即可;
日期型的可以用monthCalendar控件选取;
等等,
自己可以试试,color \ font \image等类型的编辑修改。
7.2保存
如果修改需要保存的化,只要保存绑定的类即可。
网友评论