winform之propertyGrid控件简单使用方法

1 篇文章 0 订阅
1 篇文章 0 订阅

winform之propertyGrid控件简单使用方法

常用的Attribute

[CategoryAttribute(“设置”)]

指定当属性或事件显示在被一个设置为按分类顺序模式的 System.Windows.Forms.PropertyGrid 控件中时,用于给属性或事件分组的类别的名称。(不设置该Attribute,属性将会分组到杂项
在这里插入图片描述

[DisplayNameAttribute(“Name1”)]

指定属性名称。(不设置该Attribute时使用访问器名称替代)
在这里插入图片描述

[ReadOnlyAttribute(“true”)]

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

[DescriptionAttribute(“以毫秒表示的文本重复率。”)]

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

[BrowsableAttribute(true)]

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

[DefaultPropertyAttribute(“PKG”)]

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

自定义属性类与PropertyGrid控件进行绑定

	[DefaultPropertyAttribute("PKG")]
	public class AppSettings
    {
        private bool saveOnClose = true;
        [CategoryAttribute("文档设置"), DefaultValueAttribute(false)]
        public bool SaveOnClose
        {
            get { return saveOnClose; }
            set { saveOnClose = value; }
        }
        private int maxRepeatRate = 10;
        [CategoryAttribute("设置"), DescriptionAttribute("以毫秒表示的文本重复率。"), DefaultValueAttribute(10)]
        public int MaxRepeatRate
        {
            get { return maxRepeatRate; }
            set { maxRepeatRate = value; }
        }
        private string greetingText = "欢迎使用应用程序!";
        [CategoryAttribute("设置"),DisplayNameAttribute("Name1"),ReadOnlyAttribute(true), DefaultValueAttribute("欢迎使用应用程序!")]
        public string GreetingText
        {
            get { return greetingText; }
            set { greetingText = value; }
        }
        private string appVersion = "1.0";
        [CategoryAttribute("版本"), DefaultValueAttribute("1.0"), ReadOnlyAttribute(true)]
        public string AppVersion
        {
            get { return appVersion; }
            set { appVersion = value; }
        }
        PKGenerator pkg = PKGenerator.AutoGenerate;
        [CategoryAttribute("这是枚举"), DisplayNameAttribute("我是PKG")]
        public PKGenerator PKG
        {
            get { return pkg; }
            set { pkg = value; }
        }
    }

	//属性类与propertyGrid进行绑定! AppSettings:自定义属性类
	private void Form1_Load(object sender, EventArgs e)
	{
		propertyGrid1.SelectedObject = new AppSettings();
	}

说明区域&工具栏

			System.Windows.Forms.PropertyGrid propertyGrid1 = new System.Windows.Forms.PropertyGrid();
			propertyGrid1.HelpBackColor     = Color.Red;    //设置说明区域的背景颜色
            propertyGrid1.HelpBorderColor   = Color.Blue;   //设置说明区域边框颜色
            propertyGrid1.HelpForeColor     = Color.Green;  //设置说明区域描述文字颜色
            propertyGrid1.HelpVisible       = true;         //设置说明区域是否可见
            propertyGrid1.ToolbarVisible    = true;         //设置工具栏是否可见

注意事项

1、自定属性类中所有的属性都应该有get 和set方法,如果没有get方法属性将不在PropertyGrid中不显示,没有set方法则为只读属性在PropertyGrid中无法设置该属性的值。

WinForm PropertyGrid 控件是一个可以让用户对对象的属性进行编辑的界面控件。它可以通过绑定数据源的方式自动显示对象的不同属性,并且提供了很多自定义的设置。 在WinForm PropertyGrid 控件中,下拉项是其中一个常用的自定义选项。下拉项可以让用户在属性的编辑界面中选择一个值,而不需要手动输入。 要在PropertyGrid 中实现下拉项,可以通过使用 System.ComponentModel 属性类库中的类和特性来实现。首先,我们可以通过定义一个枚举类型来代表下拉项中的所有选项,然后通过在属性上应用 System.ComponentModel 类中的属性特性,将该属性设置为下拉列表。比如我们可以使用 System.ComponentModel.Category 属性特性来设置属性的类别,使用 System.ComponentModel.Description 属性特性来为属性提供描述,使用 System.ComponentModel.TypeConverter 属性特性来指定属性类型的转换器等。 在设置完属性的特性后,我们可以将该属性绑定到 PropertyGrid 控件中,设置 PropertyGrid.SelectedObject 属性为包含该属性的对象,然后将 PropertyGrid 控件加入到窗体中。这样,当用户点击 PropertyGrid 控件中的选项时,会显示下拉列表供用户选择。 总的来说,通过在属性上设置 System.ComponentModel 属性特性,并将该属性绑定到 PropertyGrid 控件中,我们可以实现 WinForm PropertyGrid 控件中的下拉项功能,方便用户进行属性的选择和编辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值