How can I use a property grid on winforms to display the name of a selected collection member from its collection editor?

I have a property grid where one of its properties is a collection. When I run my code, I get "collection" in the property grid. When I open the collection editor and select a member, It does not update the property grid.

I'd like to be able to select a member from the collection editor and have the property grid display which member is selected. I'd also like to have access to the selected members properties. Here is my code and attached images for reference. Thank You !! ///

using System;
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel.Design;
using System.ComponentModel;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections;

namespace OG_RTS
{
    public partial class WALL : Form
    {
        public WALL()
        {
            InitializeComponent();
            
            WALL_PARAMETER  WALL_PARAM = new WALL_PARAMETER();
            propertyGrid1.SelectedObject = WALL_PARAM;
            
            //INSTANTIATE CTS FACTORS
            CTS_FACTORS Member1 = new CTS_FACTORS();
            Member1.NAME = "Member1";
            
            CTS_FACTORS Member2 = new CTS_FACTORS();
            Member2.NAME = "Member2";
            
            Collection<CTS_FACTORS> CTSCollection = new Collection<CTS_FACTORS>(){Member1,Member2};
            WALL_PARAM.CTS = CTSCollection;
            
            
        }
        
        void PropertyGrid1Click(object sender, EventArgs e)
        {
            
        }
        
        void DataGridView1CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            
        }
        
        
        //WALL PARAMETER PROPERTY CLASS
        public class WALL_PARAMETER
        {
            public Collection<CTS_FACTORS> _CTS;
            private double _ALPHA_H0;
            private double  _ER_H0;
            private double _UVALUE;
            private double _RAD_FRACTION;
            private double _CONVECTIVE_FRACTION;

            
            [Description("WALL CODUCTION TIME SERIES FACTORS"),Category("HVAC LOAD CALCS")]
            public Collection<CTS_FACTORS> CTS {get {return _CTS;}set{ _CTS= value;}}
            
            [Description("WALL ALPHA H_0"),Category("HVAC LOAD CALCS")]
            public double ALPHA_H0 {get {return _ALPHA_H0;} set{ _ALPHA_H0 = value;}}
            
            [Description("WALL ER_H0"),Category("HVAC LOAD CALCS")]
            public double ER_H0 {get {return _ER_H0;} set{_ER_H0 = value;}}
            
            [Description("WALL U VALUE"),Category("HVAC LOAD CALCS")]
            public double U_VALUE {get{ return _UVALUE;} set{_UVALUE = value;}}
            
            [Description("WALL RADIATIVE FRACTION"),Category("HVAC LOAD CALCS")]
            public double RAD_FRACTION {get{ return _RAD_FRACTION;} set{ _RAD_FRACTION = value;}}
            
            [Description("WALL CONVECTIVE FRACTON"),Category("HVAC LOAD CALCS")]
            public double CONVECTIVE_FRACTION {get{ return _CONVECTIVE_FRACTION;} set{_CONVECTIVE_FRACTION = value;}}
            
        }
        
        
        
        // CTS WALL VALUE CLASS WITH PROPERTIES

        public class CTS_FACTORS
        {

            [Category("CTS Factor"),DisplayName("HR 0")]
            public int HR_0 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 1")]
            public int HR_1 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 2")]
            public int HR_2 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 3")]
            public int HR_3 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 4")]
            public int HR_4 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 5")]
            public int HR_5 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 6")]
            public int HR_6 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 7")]
            public int HR_7 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 8")]
            public int HR_8 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 9")]
            public int HR_9 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 10")]
            public int HR_10 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 11")]
            public int HR_11 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 12")]
            public int HR_12 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 13")]
            public int HR_13 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 14")]
            public int HR_14 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 15")]
            public int HR_15 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 16")]
            public int HR_16 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 17")]
            public int HR_17 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 18")]
            public int HR_18 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 19")]
            public int HR_19 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 20")]
            public int HR_20 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 21")]
            public int HR_21 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 22")]
            public int HR_22 {get; set;}
            [Category("CTS Factor"),DisplayName("HR 23")]
            public int HR_23 {get; set;}
            [Category("CTS Factor"),DisplayName("Name")]
            public string NAME {get; set;}
            
            public override string ToString()
            {
                return NAME;
            }
            
        }
        
        
        
        
        void BT_CANCELClick(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}

///

My Collection Editor

My Property Grid

What I'm looking for

What I'm looking for

Upvotes: 0

Views: 188

Answers (0)

Related Questions