Если данный элемент управления является переменной экземпляра в вашей форме (если вы использовали встроенный дизайнер WinForms, большинство из них), сначала получите элемент управления, а затем установите для него свойство:
void Form_SetControlProperty(
String controlName, String propertyName, object value)
{
FieldInfo controlField = this.GetType().GetField(controlName,
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
object control = controlField.GetValue(this);
PropertyInfo property = control.GetType().GetProperty(propertyName);
property.SetValue(control, value, new object[0]);
}
Вам может понадобиться настроить BindingFlags
, чтобы заставить это работать.
Это должен быть метод в вашей форме. Назовите это как:
SetControlProperty («myLabel», «Text», «текст моей метки»);
Обратите внимание на область применения метода. Это любой элемент управления внутри формы, но не сама форма (для доступа к самой форме установите control
в this
).
Обратите внимание, что при этом используется отражение, оно будет медленным и ломким (измените имя элемента управления, и оно сломается).