现在创建了一个winform;如何通过反射获取其包含的控件的属性值?
void button1_Click()
{
findallctrls(this, x => { MessageBox.Show(x.Name); });
}
void findallctrls(Control c, Action<Control> a)
{
foreach (Control c1 in c.Controls) findallctrls(c1, a);
a();
}
不需要反射,用controls集合就可以。
void button1_Click()
{
findallctrls(this, x => { MessageBox.Show(x.Name); });
}
void findallctrls(Control c, Action a)
{
foreach (Control c1 in c.Controls) findallctrls(c1, a);
a();
}
控件的属性倒是需要反射
void enumallprop(object obj)
{
foreach (var item in obj.GetType().GetProperties())
{
MessageBox.Show(item + "," + item.GetValue(obj, null));
}
}