繁体   English   中英

从 C# 面板中删除按钮(用户控件)

[英]Remove a button (User Control) from a panel in C#

我有一个 UserControl (UC),在那个 UC 我有一个标签和一个图片框。
当我向面板添加许多 UC 时,每当用户单击图片框时,我都需要删除 UC。
但是,我不能选择真正的UC。

添加事件的 UC 代码:

public event EventHandler<EventArgs> X_click;

private void guna2PictureBox1_Click(object sender, EventArgs e)
{
    if (X_click != null)
    {
        X_click(guna2PictureBox1, new EventArgs());
    }
}

这是我选择和删除真正 UC 的代码:

private void a1_X_click(object sender, EventArgs e)
{
   foreach (Control item in guna2Panel1.Controls.OfType<addCatUC>())
   {
      if (sender == item)
      {
         guna2Panel1.Controls.Remove(item);
      }
   }
}

注意:我为所有 UC 添加事件a1_X_click

addC.X_click += new EventHandler<EventArgs>(a1_X_click);

我使用此代码并能够删除正确的按钮:

    private void a1_X_click(object sender, EventArgs e)
    {
        ((Control)sender).Parent.Dispose();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM