如何在运行时删除按钮? [英] How delete a button at runtime ?
本文介绍了如何在运行时删除按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
看看这个例子,我们在运行时通过单击MyExistingButton创建按钮myNewButton。
如何在创建后按另一个按钮删除myNewButton?
Look at this example we create button myNewButton at runtime by Clicking MyExistingButton .
How we can delete myNewButton by pressing another button after we created?
private void MyExistingButton_Click(object sender, EventArgs e)
{
Button myNewButton = new Button();
myNewButton.Text = "ClickMe";
myNewButton.Location = new Point((Width - myNewButton.Width) / 2, (Height - myNewButton.Height) / 2);
myNewButton.Click += new EventHandler(myNewButton_Click);
Controls.Add(myNewButton);
}
void myNewButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World!");
}
推荐答案
Control.ControlCollection(Controls属性)也有一个Remove方法,你可以使用它。
Clickety [ ^ ]
The Control.ControlCollection (Controls property) has a Remove method too which you can use.
Clickety[^]
只需将其从控件列表中删除而不实际销毁按钮对象:
Just to remove it from the controls list without actually destroying the button object:
Button myNewButton = new Button();
private void MyExistingButton_Click(object sender, EventArgs e)
{
myNewButton.Text = "ClickMe";
myNewButton.Location = new Point((Width - myNewButton.Width) / 2, (Height - myNewButton.Height) / 2);
myNewButton.Click += new EventHandler(myNewButton_Click);
Controls.Add(myNewButton);
}
void myNewButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World!");
}
private void MyExistingButton2_Click(object sender, EventArgs e)
{
if(Controls.Contains(myNewButton))
Controls.Remove(myNewButton);
}
public Form1()
{
InitializeComponent();
}
Button myNewButton;
private void MyExistingButton_Click(object sender, EventArgs e)
{
if (!(this.Controls.Contains(myNewButton)))
{
myNewButton = new Button();
myNewButton.Text = "ClickMe";
myNewButton.Location = new Point((Width - myNewButton.Width) / 2, (Height - myNewButton.Height) / 2);
myNewButton.Click += new EventHandler(myNewButton_Click);
Controls.Add(myNewButton);
}
}
void myNewButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World!");
}
private void button1_Click(object sender, EventArgs e)
{
if (this.Controls.Contains(myNewButton))
{
this.Controls.Remove(myNewButton);
}
}
这篇关于如何在运行时删除按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文