我有2個控件繼承UserControl
一個是一個容器,另一個是基本文本框標籤的集合,因此標記爲ContainerControl
和ComboControl
。C#從父容器和列表中刪除控件
ContainerControl
包含一個List<ComboControl>
和一個foreach循環,將它們添加到FlowLayoutPanel
。 ComboControl
有一個按鈕,我想用它來清除自己的父母的列表。
我不知道這樣做的最佳方式是什麼。 this.parent
並投到ContainerControl
或Dispose()
工作?我相當肯定,我可以一個引用傳遞到List
,但聽起來不必要的凌亂...
public partial class ContainerControl : UserControl
{
List<ComboControl> ComboControls = new List<ComboControl>();
...
//procederaly generate and fill ComboControls here
...
foreach (ComboControl value in ComboControls)
{
this.flowLayoutTable.Controls.Add(value);
}
...
}
public partial class ComboControl : UserControl
{
private void BtnDel_Click(object sender, EventArgs e)
{
//what goes here
}
...
}
您必須發佈一些代碼,以便有人可以幫助您。 – Johannes
確定放置了一些樣機代碼。 –
'this.flowLayoutTable.Controls.Clear()'和'ComboControls.Clear()'應該足夠了。但是,如果還有其他對組合控件的引用(例如事件註冊給它們),則還需要清除它,否則可能會發生內存泄漏。 –