目前我有一个名为FlowPending的flowlayoutpanel和一个名为ItemDetail的UserControl,Flowpending从DataTable结果生成ItemDetail,flowlayoutpanel的代码在这里:
var items = Details.GetItemDetail(logNo, date);
foreach (DataRow item in items.Rows)
{
var itemDisplay = new UserControls.ItemDetail();
itemDisplay.itemName = item["ItemName"].ToString();
itemDisplay.qty = item["Qty"].ToString();
itemDisplay.container = item["Containers"].ToString();
FlowPending.Controls.Add(itemDisplay);
}
现在我要做的是当我点击FlowPending中的任何ItemDetail时,特定的ItemDetail将被删除,这是我尝试过的,但显然它不起作用:
public void removeControl(object sender, EventArgs e)
{
FlowPending.Controls.RemoveAt(0);
}
public void test()
{
foreach (Control c in FlowPending.Controls)
{
c.MouseClick += removeControl;
}
}
我已将test()函数放在form_load方法FYI
中嗨,伙计们,我已经想出了怎么做,只有3条简单的线条:
Control c = this.Parent;
if (c.Name.Equals("yourcontrolname"))
{
c.Controls.Remove(this);
我不确定是否有人会阅读此内容,但仅仅是为了将来可能需要它的人,我只是在这里发布代码:)