用Control的remove方法,前提条件你要找到他的某一特征,不管是名字还是ID还是上面显示的文本,确保你要查到他。
我打个比方他在Form1的panel1里面,我不知道他叫什么名字,但是知道他上面显示的是“加载”,现在我要移除他:
foreach(Control ctl in this.panel1.Controls) //遍历panel1中所有控件
{
if(ctl is Button)//挑选出是按钮类型的
{
if(ctl.Text=="加载") //挑选出上面显示是“加载”的按钮
{
this.panel1.Controls.Remove(ctl); //移除他
}
}
}
Button newBtn = new Button();
newBtn.Location = new System.Drawing.Point(128, 110);
newBtn.Name = "newBtn";
newBtn.Size = new System.Drawing.Size(75, 23);
newBtn.Text = "button2";
newBtn.UseVisualStyleBackColor = true;
this.Controls.Add(newBtn);
///清除新生成的Btn
this.Controls.Remove(newBtn);
你可以这样试试 动态生成的时候,把按钮放在panel中
panel1.Controls.Add(btn);
然后删除的时候就是
panel1.Controls.Clear();
找到这个button的parent, 从他的子控件集合中移除掉销毁就可了
教你个新招:
最好的办法是: 自己托一个按钮控件,然後在designer.cs中把这个按钮的所有信息复制出来
然後把控件删除,就明白动态创建控件的最佳代码了