Я пытаюсь изменить label
и text
метки, которая находится внутри UserControl
из метода Parent Form
во время выполнения.
Таким образом, внутри метода в родительском Form
я делаю следующее, чтобы изменить свойства метки, которые находятся внутри UserControl
public partial class Form : Form
{
public void Form_Method()
{
UserControl uc = new UserControl();
uc.UpdateLabel(true);
}
}
И пользовательский метод внутри моего UserControl
public partial Class UserControl : UserControl
{
public void UpdateLabel(bool value)
{
if (value)
{
lbl.Text = "This";
lbl.Forecolor = Color.Green;
}
if (value == false)
{
lbl.Text = "That";
lbl.Forcolor = Color.Red;
}
}
}
Однако, когда я перешел к UserControl
, свойства метки не изменились, так как я на лету создавал new
экземпляр usercontrol, который
технически исчезает после завершения метода.
Итак, я попытался создать публичную собственность фактического UserControl
следующим образом
public partial class Form : Form
{
public UserControl _uc;
public void Form_Method()
{
UserControl uc2 = new UserControl();
uc2.UpdateLabel(true);
_uc = uc2;
}
}
Однако это никак не влияет? Я сталкивался с информацией об использовании Events
или Delegates
, но не уверен, что это правильный процесс для того, что я пытаюсь сделать?