zoukankan      html  css  js  c++  java
  • 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);
            }
        }

  • 相关阅读:
    php 转化整型需要注意的地方
    生成6位随机数
    php://input
    ios常见问题 经验之谈
    ios 从前台返回到回台 从后台返回到前台 或者 支付宝支付订单后 对界面进行操作
    ios根据文本自适应 然后 搭建类似如下效果
    iosTableView 局部全部刷新以及删除编辑操作
    ios打开系统自带APP
    iOS通过URL Scheme启动app(收集了常用的app的URL Scheme)
    ios UIApplocation 中APP启动方式
  • 原文地址:https://www.cnblogs.com/tianmochou/p/5085898.html
Copyright © 2011-2022 走看看