Las propiedades de la clase WinForm_ crean dinámicamente usando Label Reflejada

Clase:

    clase Receta 
    { 
        pública  int ID { llegar ; establecer ; }
         Pública  cadena RecipeName { get ; establecer ; }
         Pública  cadena de comentario { llegar ; establecer ; }
         Pública  cadena Cantidad { get ; establecer ; }
         Pública  cadena con1 { get ; establecer ; }
         Pública  cadena con2 { get ; establecer ; }
        pública  cadena con3 { llegar ; establecer ; } 
    }

Ahora bien, según con1, con2 y con3 crear dinámicamente tres etiqueta.

            int X = 75 , Y = 65 , i = 0 ; 
            Receta Receta = nueva receta {ID = 1 , con1 = " p1 " , con2 = " p2 " , con3 = " p3 " };
            foreach ( var prop en recipe.GetType (). GetProperties ()) 
            { 
                si (prop.Name.StartsWith ( " con " )) 
                { 
                    var value =prop.GetValue (receta);
                    si (valor! = nulo ) 
                    { 
                        Label etiqueta = nueva etiqueta () 
                        { 
                            AutoSize = verdadero , 
                            MaximumSize = nuevo Tamaño ( 300 , 150 ), 
                            MinimumSize = nuevo Tamaño ( 300 , 10 ), 
                            Ubicación = nuevo punto (X, Y + 20* I), 
                            Texto = value.ToString () 
                        }; 
                        i ++ ; 
                        Controls.Add (etiqueta); 
                    } 
                } 
            }

Resultados del ensayo:

Supongo que te gusta

Origin www.cnblogs.com/xingyz/p/12612533.html
Recomendado
Clasificación