Class:
class Recipe { public int ID { get; set; } public string RecipeName { get; set; } public string Comment { get; set; } public string Quantity { get; set; } public string con1 { get; set; } public string con2 { get; set; } public string con3 { get; set; } }
现在根据con1,con2 和 con3 动态创建三个label.
int X = 75, Y = 65, i = 0; Recipe recipe = new Recipe { ID = 1, con1 = "p1", con2 = "p2", con3 = "p3" }; foreach (var prop in recipe.GetType().GetProperties()) { if (prop.Name.StartsWith("con")) { var value = prop.GetValue(recipe); if (value != null) { Label label = new Label() { AutoSize = true, MaximumSize = new Size(300, 150), MinimumSize = new Size(300, 10), Location = new Point(X, Y + 20 * i), Text = value.ToString() }; i++; Controls.Add(label); } } }
测试结果: