删除删除多个控件的按钮

时间:2016-06-08 03:45:41

标签: c# button controls

我正在尝试执行删除按钮,删除与该按钮相关的其他几个控件,例如textboxcombobox。现在,我只能通过使用tag函数删除一个控件来成功,如下所示:

private void deleteControl(object sender, MouseEventArgs e)
{
   Button btn = (Button)sender;

   TextBox txtbox = (TextBox)this.Controls.Find(btn.Tag.ToString(), true)[0];
   txtbox.Dispose();
}

上面的代码是我实现的函数的代码片段。但是,我只能使用此方法删除1 Control,因为我只能将一个Control标记为我的删除button。那么,如果我想使用删除button删除2个控件,我应该如何实现?

2 个答案:

答案 0 :(得分:1)

试试这个;迭代可用控件并根据条件删除删除

foreach (Control ctrl in this.Controls.OfType<Control>().ToList())
{
    if ((ctrl.GetType() == typeof(TextBox) || ctrl.GetType() == typeof(ComboBox))
        && ctrl.Tag.ToString() == btn.Tag.ToString())
    {
        ctrl.Dispose();
    }
}

答案 1 :(得分:-1)

你可以简单地做

this.Controls.Remove(btn);

或者如果你想删除所有

this.Controls.RemoveAll();

不要忘记控件是在容器中,所以你也可以这样做来删除所有兄弟姐妹

btn.Parent.Controls.RemoveAll();