如何在运行时删除选定的控件

时间:2011-03-09 06:37:12

标签: c#

我有一个表单,在运行时我制作了许多图片框控件,我将它们放在我的表单上。 现在我的问题是如何删除一个图片框(在运行时),它已被选中,并输入了键盘“删除”。 感谢。

3 个答案:

答案 0 :(得分:2)

尝试使用PictureBox.KeyPress下面的代码:http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.keypress.aspx

 PictureBox picture = control as PictureBox;
    if (picture != null)
    {
        this.Controls.Remove(picture);
        picture.Dispose();
    }

答案 1 :(得分:1)

您可以从控件中访问PictureBox并使用ControlCollection.Remove方法。

以下是示例代码:

// Remove the PicturBox control if it exists.
private void deleteButton_Click(object sender, System.EventArgs e)
{
   if(panel1.Controls.Contains(pictureBox))
   {
      panel1.Controls.Remove(pictureBox);
   }
}

可以找到更多文档here

编辑:

有关如何在C#

中监控KeyPress事件,请参阅此link

答案 2 :(得分:1)

试试这个

 private void pictureBox1_Click(object sender, EventArgs e)
        {
            this.Controls.Remove(pictureBox1);
        }

如果在键盘上删除了图片(有焦点)。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.Delete)
            {
                if(pictureBox1.Focus())
                {
                    this.Controls.Remove(pictureBox1);
                }
                return true;
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

此致