C# WinForm PropertyGrid用法
关于C# PropertyGrid的用法没有找到,找到一个C++的用法。
模仿着使用了一下,感觉挺不错,分享一下。
基本用法:
拖个PropertyGrid,绑定一个属性类就行了。
大气象 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace PropertyGridApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
propertyGrid1.SelectedObject = new Go();
} class Go
{
private string _Hi = "hi";
public string Hi
{
get { return _Hi; }
set { _Hi = Hi; }
}
} }
}
它能自动识别Go类中的属性,并且自动关联。

对属性进行分类并加注释:
大气象 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class Go
{
private float _TieMu = 5.5f;
private string _Rule = "数子法";
[CategoryAttribute("规则"), DescriptionAttribute("贴目")]
public float TieMu
{
get { return _TieMu; }
set { _TieMu = TieMu; }
}
[CategoryAttribute("规则"), DescriptionAttribute("计算法")]
public string Rule
{
get { return _Rule; }
set { _Rule = Rule; }
} private int _Black = ;
private int _White = ;
[CategoryAttribute("围棋"), DescriptionAttribute("黑")]
public int Black
{
get { return _Black; }
set { _Black = Black; }
}
[CategoryAttribute("围棋"), DescriptionAttribute("白")]
public int White
{
get { return _White; }
set { _White = White; }
}
}

使用Color类型可以显示颜色选择下拉框,使用Image类型可以显示图片选择对话框,真强大。
大气象 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->private Color _BoardColor = Color.Yellow;
[CategoryAttribute("围棋"), DescriptionAttribute("棋盘颜色")]
public Color BoardColor
{
get { return _BoardColor; }
set { _BoardColor = BoardColor; }
} private Image _Background;
[CategoryAttribute("围棋"), DescriptionAttribute("棋盘背景")]
public Image Background
{
get { return _Background; }
set { _Background = Background; }
}


另外是自定义类型,比如枚举.
源码:http://files.cnblogs.com/greatverve/PropertyGridApp.rar
参考:
http://blog.csdn.net/xoyojank/archive/2009/07/04/4322167.aspx
C# WinForm PropertyGrid用法的更多相关文章
- winform listview用法
资源收集 C#winform中ListView的使用 C# WinForm开发系列 - ListBox/ListView/Panel(介绍了一些listview的高级用法) 直接上代码 示例一: th ...
- winform devexpress 用法汇总
废话不多说先上图 1.封装分页控件 qrcodeOnPage1.SearchData(gridControl2, IDataPage, sWhere, "", "tb_o ...
- C# WINFORM ListView用法详解(转)
源代码下载位置: http://pan.baidu.com/s/1qXrLehe 一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false ...
- Winform Timer用法,Invoke在Timer的事件中更新控件状态
System.Timers.Timer可以定时执行方法,在指定的时间间隔之后执行事件. form窗体上放一个菜单,用于开始或者结束定时器Timer. 一个文本框,显示定时执行方法. public pa ...
- C# winform对话框用法大全
对话框中我们常用了以下几种:1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话(SaveFileDialog)2.字体对话框(F ...
- C# winform OpenFileDialog用法
https://jingyan.baidu.com/article/e52e36156fa6d240c60c51c8.html 详情看看这个.
- javascript调用ActiveX接口失败的解决方案及使用心得
前段时间公司做了个比较大的项目,需要用到ocx控件,我厂大部分项目都采用C#.net,而winform程序条用ocx控件接口是相对简单的,但是javascript调用ocx接口,却和winform的用 ...
- ado.net 连接数据库
一.用SqlConnection连接SQL Server 1..加入命名空间 using System.Data.SqlClient; 2.连接数据库 SqlConnection myConnecti ...
- PropertyGrid控件由浅入深(二):基础用法
目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要 ...
随机推荐
- 初识 TextKit
iOS 7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit.TextKit 由许多新的 UIKit 类组成,顾名思义,这些类就是用来处理文本的.在这里,我们将介绍 TextKit ...
- WPF+Caliburn.Micro 杂记
开发过程中的小问题总结 1DataGrid的Header里面给Checkbox绑定IsEnabled,绑不上去. 2由A页面跳转到B页面,再由B页面返回一个值 3DataGrid里面的行通过一个方法 ...
- IOS开发--仿制网易新闻
学习来源:袁峥老师的<快速集成App中顶部标题滚动条> 此次博文写的是按需求分析写代码,思路条理性杠杠的,可以提高的编码实现速度哦. 效果: 根据这个网易新闻的界面,需求分析: ...
- Swift中的类和结构体的相同点与不同点
相同点: 1.都是有内部变量和函数 2.都可以有内部下标方式去取属性 3.都可以有初始化函数 4.都可以用协议 不同点: 1.类有继承 2.类可以多重引用 3.类有析构
- Extjs 控件属性(部分)
Ext.form.TimeField: 配置项: maxValue:列表中允许的最大时间 maxText:当时间大于最大值时的错误提示信息 minValue:列表中允许的最小时间 minText:当时 ...
- 学习HTML5必读之《HTML5设计原理》
引子:很久前看过的一遍受益匪浅的文章,今天再次转过来,希望对学习HTML5的朋友有所帮助. 今天我想跟大家谈一谈HTML5的设计.主要分两个方面:一方面,当然了,就是HTML5.我可以站在这儿只讲HT ...
- MySQL 中的 FOUND_ROWS() 与 ROW_COUNT() 函数
移植sql server 的存储过程到mysql中,遇到了sql server中的: IF @@ROWCOUNT < 1 对应到mysql中可以使用 FOUND_ROWS() 函数来替换. 1. ...
- HashMap与TreeMap的区别
首先描述下什么是Map. 在数组中我们是通过数组的下标来对其内容进行索引的,而在Map中我们是通过对象对对象进行索引的,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平常说的键值对. ...
- 【node.js】安装express后,'express' 不是内部或外部命令的问题
因express默认安装是最新的版本,已经是4.x.x的版本.而最新express4.0+版本中将命令工具分出来了,所以必须要安装express-generator,执行: D:\TOOLS\Node ...
- ubuntu 添加启动器
终于搞定了安卓开发环境,不知道折腾了多少次,多少个IDE,解决了一个问题,又冒出一个问题.烦死了,最后关头,都快放弃了,重启电脑,打开 android stuio 编译运行居然陈宫了,没有报错,why ...