您的位置:首页 > 其它

自定义对象与控件之间的相互赋值

2012-02-20 11:32 211 查看
现在在做的一个需求:根据用户的需要,动态的生成产品的属性,最多50个。要求显示在界面上,并且可以实现对属性内容的添加、删除、修改。这样的话在界面上需要50个textbox(可以是别的自定义控件),来显示每个属性的值,修改之后再保存,这就需要对象与控件之间的相互赋值,前天学到一种方法,非常方便。希望能帮助需要的人。

//将对象的值传给控件

private void GetObjectInfoToControlValue(Object obj, Control control)

{

Type type = obj.GetType();

foreach (Control ctl in control.Controls)

{

foreach (PropertyInfo pi in type.GetProperties())

{

if (pi.Name == ctl.Name)

{

ctl.Text = pi.GetValue(obj, null).ToString();

}

}

}

}

//将控件的值传给对象

private void GetControlValueToObjectInfo(Object obj, Control control)

{

Type type = obj.GetType();

foreach (Control ctl in control.Controls)

{

foreach (PropertyInfo pi in type.GetProperties())

{

if (pi.Name == ctl.Name)

{

pi.SetValue(obj, Convert.ChangeType(ctl.Text,pi.PropertyType), null);

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: