PropertyGrid 控件使用方法

编写一个对象,后面传递给 PropertyGrid 来显示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace WindowsForms_PropertyGrid
{
    public class UserPropertyClass
    {
        private string appVersion = "1.0";
        [CategoryAttribute("版本"),
         DefaultValueAttribute("1.0"),
         ReadOnlyAttribute(true)]
        public string AppVersion
        {
            get { return appVersion; }
            set { appVersion = value; }
        }
        private Buchang _ReadWrite_06=Buchang .标准溶液;

        [CategoryAttribute("读写存储区"), DisplayName("06 补偿类型")]

        public Buchang ReadWrite_06
        {
            get {
                switch (BuchangValue)
                {
                    case 1:
                        _ReadWrite_06 = Buchang.标准溶液;
                        break;
                    case 2:
                        _ReadWrite_06 = Buchang.自然水;
                        break;
                    case 3:
                        _ReadWrite_06 = Buchang.纯水;
                        break;
                    case 4:
                        _ReadWrite_06 = Buchang.其他溶液;
                        break;
                    default:
                        break;
                }
                return _ReadWrite_06;
            }
            set
            {
                switch (value)
                {
                    case Buchang.标准溶液:
                        _BuchangValue = 1;
                        break;
                    case Buchang.自然水:
                        _BuchangValue = 2;
                        break;
                    case Buchang.纯水:
                        _BuchangValue = 3;
                        break;
                    case Buchang.其他溶液:
                        _BuchangValue = 4;
                        break;
                    default:
                        break;
                }
                _ReadWrite_06 = value;
            }
        }
        private int _BuchangValue = 1;
        public int BuchangValue
        {
            get
            {
                return _BuchangValue;
            }
            set
            {
                switch (value)
                {
                    case 1:
                        ReadWrite_06 = Buchang.标准溶液;
                        break;
                    case 2:
                        ReadWrite_06 = Buchang.自然水;
                        break;
                    case 3:
                        ReadWrite_06 = Buchang.纯水;
                        break;
                    case 4:
                        ReadWrite_06 = Buchang.其他溶液;
                        break;
                    default:
                        break;
                }
                _BuchangValue = value;
            }
        }
        public enum Buchang
        {
            标准溶液 = 0,
            自然水 = 1,
            纯水 = 2,
            其他溶液 = 3,
        }

    }
}

Winform 界面代码

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 WindowsForms_PropertyGrid
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }
        UserPropertyClass UserPropertyClass1;// = new UserPropertyClass();
        private void MainForm_Load(object sender, EventArgs e)
        {
            UserPropertyClass1 = new UserPropertyClass();
            UserPropertyClass1.BuchangValue = 4;
            propertyGrid1.SelectedObject = UserPropertyClass1;
            timer1.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            label2.Text = UserPropertyClass1.BuchangValue.ToString ();
        }

        private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
        {
            propertyGrid1.Refresh();
        }
    }
}

运行后显示效果:

时间: 2024-09-30 22:55:46

PropertyGrid 控件使用方法的相关文章

NET 框架 PropertyGrid 控件

NET框架PropertyGrid控件是 Visual Studio .NET 属性浏览器的核心.PropertyGrid控件显示对象或类型的属性,并主要通过使用反射来检索项目的属性 首先创建 PropertyGrid 控件要使用 Visual Studio .NET 创建 PropertyGrid 控件,需要将该控件添加到工具箱中,因为默认情况下并不包含该控件.在 Tools(工具)菜单中,选择 Customize Toolbox(自定义工具箱).在对话框中选择 Framework Compo

WinForm窗体PropertyGrid控件的使用

使用过 Microsoft Visual Basic 或 Microsoft Visual Studio .NET的朋友,一定使用过属性浏览器来浏览.查看或编辑一个或多个对象的属性..NET 框架 PropertyGrid 控件是 Visual Studio .NET 属性浏览器的核心.PropertyGrid 控件显示对象或类型的属性,并主要通过使用反射(在运行时提供类型信息的技术)来检索项目的属性.PropertyGrid控件包含以下部分:一般属性.可展开属性.属性类别.属性说明和属性编辑器

C# PropertyGrid控件应用心得

何处使用 PropertyGrid 控件 在应用程序中的很多地方,您都可以使用户与 PropertyGrid 进行交互,从而获得更丰富的编辑体验.例如,某个应用程序包含多个用户可以设置的“设置”或选项,其中一些可能十分复杂.您可以使用单选按钮.组合框或文本框来表示这些选项.但本文将逐步介绍如何使用 PropertyGrid 控件创建选项窗口来设置应用程序选项.上面所创建的 OptionsDialog 窗体即是选项窗口的开始.现在,我们创建一个名为 AppSettings 的类,其中包含映射到应用

WinForm小白的WPF初试一:从PropertyGrid控件,输出内容到Word(上)

学WinForm也就半年,然后转到WPF,还在熟悉中.最近拿到一个任务:从PropertyGrid控件,输出内容到Word.难点有: 一.PropertyGrid控件是WinForm控件,在WPF中并不能直接从工具箱获得,或者直接在XMAL中声明使用. 如要使用,需要使用WindowFormHost控件,再在其内部装载PropertyGrid控件.当然前提要在XAML中引用CLR—NAMESAPCE的SYSTEM.WINDOWS.FORMS命名空间.详细请看此处链接:http://www.cnb

Atitit.swt 线程调用ui控件的方法

Atitit.swt 线程调用ui控件的方法 1 SwingUtilities.invokeLater1 2 display.asyncExec方法1 3  display.timerExec(500,timer);2 4 .但有时候并不一定要程序执行时就要定时检测,有时需要外部事情激发这就出现了第2种解决方案,写一个内置类,可以放在事件监听的方法中,然后激发:2 5 参考3 1   SwingUtilities.invokeLater SwingUtilities.invokeLater(ne

【转】PropertyGrid控件中的多级显示

运行效果: 解决方案: MainForm.cs public partial class MainForm : Form { public MainForm() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { CProvincialCapital proCap = new CProvincialCapital("南京市", 10000000); CProvince pro

UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)

在本人之前的一篇文章<<Appium基于安卓的各种FindElement的控件定位方法实践和建议>>第二章节谈到Appium可以通过使用UIAutomator的方法去定位Android界面上的控件,当时只是一笔带过举了个例子.如该文给自己的承诺,今天特撰写此文以描述UIAutomator各种控件定位的方法,以作为前文的姊妹篇互通有无. 1. 背景 为了和前文达成一致,这次的实践对象同样也是使用SDK自带的NotePad应用,同样是尝试去获得在NotesList那个Activity里

MonkenRunner通过HierarchyViewer定位控件的方法和建议(Appium/UIAutomator/Robotium姊妹篇)

1. 背景 在使用MonkeyRunner的时候我们经常会用到Chimchat下面的HierarchyViewer模块来获取目标控件的一些信息来辅助我们测试,但在MonkeyRunner的官网上是没有看到相应的API的描述的,上面只有以下三个类的API引用信息(http://developer.android.com/tools/help/MonkeyDevice.html) MonkeyDevice MonkeyImage MonkeyRunner 所以在这里尝试整理下HierarchyVie

EasyUI常用控件禁用方法

EasyUI常用控件禁用方法: 1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id").attr("readonly", true); -----  $("#id").removeAttr("readonly"); <2>.$("#id").attr("readonly"