例如。我的代码是
void abc(usercontrolclass ucc)
{
this.panel.Controls.Add(ucc);
}
void def()
{
usercontrolclass ucc1 = this.panel.Controls.GetChildUserControl(ucc);
}
注意“GetChildUserControl”不是一个有效的函数,我需要的是一个可以用来获取 ucc 的方法或函数。
例如。我的代码是
void abc(usercontrolclass ucc)
{
this.panel.Controls.Add(ucc);
}
void def()
{
usercontrolclass ucc1 = this.panel.Controls.GetChildUserControl(ucc);
}
注意“GetChildUserControl”不是一个有效的函数,我需要的是一个可以用来获取 ucc 的方法或函数。
1 - 设置用户控件tag
属性。
2 - 将用户控件添加到其父级。
Tag
3 -通过迭代从父级获取其属性的用户控制Control.Controls
。
你的代码应该是这样的:
void AddControl(UserControl control, int id)
{
control.Tag = id;
this.panel.Controls.Add(control);
}
UserControl GetControl(int id)
{
foreach (Control control in this.panel.Controls)
{
if (id == (int) control.Tag)
return (UserControl) control;
}
return null;
}
// or using LINQ
UserControl GetControl(int id)
{
return Controls.Cast<UserControl>()
.FirstOrDefault(control => id == (int) control.Tag);
}