0
我正在寫一個庫,允許我自定義表單元素。下面的代碼是一個函數,獲取控件的名稱,獲取屬性的名稱,然後設置控件的屬性,但我似乎無法讓它工作出於某種原因。感謝任何幫助appricated。使用字符串設置控件屬性C#
代碼:
public void SetProp(string name, string prop, string value)
{
Form FormControl = Application.OpenForms[form];
Control mycontrol = FormControl.Controls.Find(name, true)[0];
PropertyInfo pInfo = mycontrol.GetType().GetProperty(prop);
TypeConverter tc = TypeDescriptor.GetConverter(pInfo.PropertyType);
var x = tc.ConvertFromString(value);
pInfo.SetValue(name, x, null);
}
調用示例:
SetProp("greg", "Text", "hi")
'pInfo.SetValue()'看起來是錯誤的。你應該傳遞'mycontrol',而不是'name'。試試'pInfo.SetValue(mycontrol,x);'。 – TyCobb 2014-10-17 00:05:05
@TyCobb是的,解決了這個問題。非常感謝你! – gregyjames 2014-10-17 00:15:43