Winforms从父窗体更改用户控件中的标签属性

时间:2018-07-02 11:07:08

标签: c# winforms user-controls

我试图在运行时从父label方法内部更改text内标签的UserControlForm

因此,在父级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的公共属性

public partial class Form : Form
{
    public UserControl _uc;

    public void Form_Method()
    {
        UserControl uc2 = new UserControl();    
        uc2.UpdateLabel(true);
        _uc = uc2;
    }
}

但是它什么都没有作用?我遇到过使用EventsDelegates的信息,不确定它们是否是正确的过程?

0 个答案:

没有答案