首页 > 技术文章 > PropertyGrid 控件使用方法

qq458978 2015-06-29 16:14 原文

 

编写一个对象,后面传递给 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,
        }

    }
}
View Code

 

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();
        }
    }
}
View Code

 

运行后显示效果:

 

推荐阅读