Cuestión : Valor de una propiedad dominante del registro

Hi.

I que escribe un app que da a usuario la capacidad de crear los controles simulados en el tiempo de pasada y de alterar las características que se atan a esos controles.  Tengo una rejilla de la característica para corregir las características y este todo trabaja great.

However, estoy teniendo un poco apuro con los controles siguientes de part.

The seré demostrado como parte de un uso que funcione en una diversa PC, y cada control “será ligado” a un valor del registro.  He creado un treeview donde el usuario puede construir una versión ajustada del árbol del registro de la máquina receptora, con la esperanza de que pueda entonces utilizar una característica dropdown para seleccionar las llaves del registro para cada uno del controls.

So, en pocas palabras, yo necesito una lista dropdown para un artículo de la rejilla de la característica, y necesite poder modificar esta lista dropdown en runtime.

Advice sea agradable, incluso las sugerencias alternativas son agradables, pero quisiera particularmente un código example.

Thanks por adelantado.
class= del

Respuesta : Valor de una propiedad dominante del registro

La autorización, así que yo le hemos contestado mismo.  El ejemplo del código demuestra que una clase con una característica que tenga los valores aaa, bbb, ccc disponible en un dropdown en una rejilla de la característica, solamente el código agrega dinámicamente el DDD y el eee a la lista y ellos se pueden también seleccionar en la rejilla de la característica.

Estoy fijando la solución en caso de que cualquier persona encuentre nunca este hilo de rosca mientras que busque para la misma cosa.

Apenas crear un nuevo proyecto, agregar una rejilla de la característica a la forma y pegar el código adentro.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
usar sistema;
usar System.Collections.Generic;
usar System.ComponentModel;
usar System.Data;
usar System.Drawing;
usar System.Linq;
usar System.Text;
usar System.Windows.Forms;

namespace Dummy_PropertyGrid
{
    clase MyConverter: TypeConverter
    {
        bool público GetStandardValuesSupported (contexto de la invalidación de ITypeDescriptorContext)
        {
            de vuelta verdad;
        }
        invalidación pública StandardValuesCollection GetStandardValues (contexto de ITypeDescriptorContext)
        {
            Lista de la lista = (contexto. Caso como Form1.myProp) .MyList;
            Cols de StandardValuesCollection = nuevo
            StandardValuesCollection (lista);
            cols de vuelta;
        }
    }


    clase parcial pública Form1: Forma
    {
        myProp público de la clase
        {
            myStr de la secuencia;

            [TypeConverter (typeof (MyConverter))]
            secuencia pública MyItem
            {
                conseguir {myStr de vuelta; }
                fijar {myStr = valor; }
            }

            Enumerar la lista;

            [Editable (falso)]
            lista pública MyList
            {
                conseguir
                {
                    si (falta de información del == de la lista)
                    {
                        lista = nueva lista ();
                        lista. Agregar (“aaa”);
                        lista. Agregar (“bbb”);
                        lista. Agregar (“ccc”);
                    }
                    devolver la lista;
                }
            }
        }

        público Form1 ()
        {
            InitializeComponent ();

            obj del myProp = nuevo myProp ();

            obj.MyList.Add (“DDD”);
            obj.MyList.Add (“eee”);

            this.propertyGrid1.SelectedObject = obj;
        }
    }
}
Otras soluciones  
 
programming4us programming4us