我试图在运行时从父label
方法内部更改text
内标签的UserControl
和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
的公共属性
public partial class Form : Form
{
public UserControl _uc;
public void Form_Method()
{
UserControl uc2 = new UserControl();
uc2.UpdateLabel(true);
_uc = uc2;
}
}
但是它什么都没有作用?我遇到过使用Events
或Delegates
的信息,不确定它们是否是正确的过程?