Winforms изменить свойства метки в Usercontrol из родительской формы - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь изменить 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, но не уверен, что это правильный процесс для того, что я пытаюсь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...