FlowLayoutPanel在点击它时删除控件c#

时间:2014-10-15 04:05:08

标签: c# controls

目前我有一个名为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);

我不确定是否有人会阅读此内容,但仅仅是为了将来可能需要它的人,我只是在这里发布代码:)

0 个答案:

没有答案