c# propertyGrid下拉选项

实现下面效果的propertygrid属性下拉选择

具体代码如下

//form窗口类

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            properties ps = new properties();
            propertyGrid1.SelectedObject = ps;
        }
    }

//属性类

public class properties
    {
        [Category("性别"),Description("student gender"),
        TypeConverter(typeof(genderItem)) //使用自定义的属性下拉item类
        ]
        public string Gender
        {
            get;
            set;
        }
    }

//自定义属性下拉效果的类,该类主要继承StringConverter类,并重载该类的一些虚拟方法

public class genderItem:StringConverter
    {
        //true enable,false disable
        public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
        {
            return true;
        }

public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            return new StandardValuesCollection(new string[] { "男", "女" }); //编辑下拉框中的items
        }

//true: disable text editting.    false: enable text editting;
        public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
        {
            return true;
        }
    }

//形成checkbox选项样式

属性类的代码如下

[Category("信息"), Description("student information"),
        Editor(typeof(CheckboxPro),typeof(System.Drawing.Design.UITypeEditor))]
        public bool IsGoodStudent
        {
            get;
            set;
        }

其中checkboxpro类定义如下,用该方法会出了checkbox窗口

public class CheckboxPro:System.Drawing.Design.UITypeEditor
    {
        public override bool GetPaintValueSupported(ITypeDescriptorContext context)
        {
            return true;
        }

public override void PaintValue(System.Drawing.Design.PaintValueEventArgs e)
        {
            ControlPaint.DrawCheckBox(e.Graphics, e.Bounds, ButtonState.Inactive);
        }
    }

时间: 2024-08-07 09:46:34

c# propertyGrid下拉选项的相关文章

Excel的单元格设置下拉选项并填充颜色

如何在Excel的单元格中加入下拉选项 方法/步骤   第一步:打开excel文档,选中需加入下拉选项的单元格.  第二步:点击菜单中的"数据"->"数据有效性"->"数据有效性".   第三步:在弹出的页面中设置菜单下,点击"允许"下选择"序列"按钮.   第四步:在来源中输入单元格中需设置的下拉选项,用英文的逗号","隔开,然后点击确定按钮. 即可得到我们要的效果. 怎么

Android ActionBar下拉选项

package com.example.actionBarTest.actionBarList; import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.SpinnerAdapter; import com.ex

下拉选项设置数据的三种方式介绍

度量快速开发平台中,在智能窗体上拖入下拉选择,可以实现很多功能.比如制作查询条件,选择数据等. 方法1:直接在下拉选择右边属性中设置数据. 使用效果: 该方法设置简答,对于那种是固定数据的设置,可以采用这样的效果实现.下拉选项1.Value   与 下拉选项1.SelectedText 获取的值都一样. 方法2:用下拉选项的SetItems方法实现 下拉选项1.SetItems("A,B,C,D",false) 效果与方法一一样,这个方法可以动态的来设置数据,比如根据不同的条件设置不同

Easyui Datagrid 的Combobox 如何动态修改下拉选项,以及值的转换

我是先将下拉选项的值通过datagrid的url查出来了,在每一行的row中 //项目结果选项卡的列表 $('#project_table').datagrid({ width : '100%', height: '378', url : 'getSeparationProjectInf', //title : '待分发条码列表', striped : true, nowrap : true, rownumbers : true, singleSelect : false, showHeader

Jquery ajax 绑定multiselect多选下拉选项,同时异步执行返回值

Jquery ajax 绑定multiselect多选下拉选项,同时异步执行获取返回值 1 function load(mslt_employees,belongto,mark) {//传入$(#ID) 2 var jsondata = JSON.stringify({ belongto: 1, username: username }); 3 var emp = null; 4 jQuery.ajax({ 5 type: 'POST', 6 url: "../tools/employees_a

angularJS 可编辑下拉选项框

功能介绍: 该组件将文本框和下拉框的组合,当你点击最右边的下拉按钮,实现下拉框选择的功能:当你选中文本框,实现文本框输入的功能.将文本框和下拉框设置name属性一样他自动会把对应下拉框的值传入后台,而文本框的值不传,当你做文本框使用,它会把文本框的值传入后台而下拉框的值不传. 可编辑下拉选项框 ANY 1 1.html代码 1 <!DOCTYPE html> 2 <html ng-app="myapp"> 3 <head> 4 <meta ch

透视表提取不重复记录(5)-不能用于下拉选项

透视表提取不重复记录(5)-不能用于下拉选项 设计要点:不重复.数据透视表.下拉选项 秀秀:哼,透视表虽然是很强,但是有很多软肋呢! 阿金:嗯?--,你对透视表能有这么深入的了解?是你不会用吧. 秀秀:且!你看,它虽然可以自动提取出现值,但是不能把它作为下拉选项的数据源. 阿金:噢?俺看看.嗯,可能是它认为数据透视表的右下区域都有数据,所以单元格不为空,如果用counta()函数不能判断有几项. 秀秀:哎哟!透视表不是你的强项么?连这个都不了解? 阿金:啊,说明俺对透视表的了解还不够深入啊. 秀

[js开源组件开发]模拟下拉选项框select

模拟下拉选项框select 在css3流行的情况下,下拉框还是无法满足PD的需求,所以有了autosearch,有了模拟下拉框.效果如下图: select DEMO请案例点击这里查看.http://www.lovewebgames.com/jsmodule/select.html 源码查看下载请点击这里https://github.com/tianxiangbing/select 调用示例 <select name="select" id="select"&g

为Popuplist的下拉选项添加删除功能(NGUI)

NGUI例子里的popuplist是这样的:,但有时我们希望下拉选项都有删除功能,也就是这样:,一种方法是改popuplist的源码,我想这个实现起来不难,但现在我想说的是用反射来实现此功能,以及其他注意点. 第一步:我们查看下popuplist的源码可以发现,他有个OnCLick点击事件,而里面实现的就是绘制所有下拉选项的,并且所有下拉选项的的父节点都是mChild这个私有字段, 第二步:我们只要给popuplist再附加一个我们自己写的脚本A,在这个脚本里面通过反射mChild的孩子,就可以