クラスのプロパティを動的に反映さラベルを使用して作成さWinForm_

クラス:

    クラスレシピ
    { 
        公共の int型の IDは{ 取得しますセット; }
         パブリック 文字列 RecipeName { 得ますセット; }
         パブリック 文字列コメント{ 得ますセット; }
         パブリック 文字列数量{ GETセット; }
         パブリック 文字列 CON1 { GETセット; }
         パブリック 文字列 CON2 { GETセット; }
        公共の 文字列 CON3 { 取得しますセット; } 
    }

今CON1、CON2とCON3に応じて動的に3枚のラベルを作成します。

            INT X = 75、Y = 65で、iは= 0 
            レシピレシピ = 新しいレシピ{ID = 1、CON1 = " P1 "、CON2 = " P2 "、CON3 = " P3 " }。
            foreachのVARの支柱recipe.GetType()。GetPropertiesの())
            { 
                場合(prop.Name.StartsWith(" CON " ))
                { 
                    VARの値=prop.GetValue(レシピ)。
                    もし(値!= nullの
                    { 
                        ラベルラベル = 新しいラベル()
                        { 
                            AutoSizeプロパティ = 
                            MaximumSizeを = 新しいサイズ(300150 )、
                            のminimumSize = 新しいサイズ(30010 )、
                            場所 = 新しいポイント(X、Y + 20* I)、
                            テキスト = value.ToString()
                        }。
                        I ++ ; 
                        Controls.Add(ラベル)。
                    } 
                } 
            }

テスト結果:

おすすめ

転載: www.cnblogs.com/xingyz/p/12612533.html