我有一个表单,在运行时我制作了许多图片框控件,我将它们放在我的表单上。 现在我的问题是如何删除一个图片框(在运行时),它已被选中,并输入了键盘“删除”。 感谢。
答案 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);
}
此致