2011-03-09 32 views
1

我有一個窗體,在運行時,我使許多圖片框控件,我找到他們在我的窗體上。 現在我的問題是如何刪除一個圖片框(在運行時間),它已被選中,並輸入密鑰「刪除」。 謝謝。如何在運行時刪除選定的控件

+1

化妝用PictureBox.KeyPress的:http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.keypress.aspx – 2011-03-09 06:51:39

回答

1

嘗試KeyPress事件這

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); 
     } 

問候

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(); 
    } 
+0

怎麼能理解「 delet「鍵進入? – Farna 2011-03-09 06:45:50

+0

@ na.farzane =使用PictureBox.KeyPress:http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.keypress.aspx – 2011-03-09 06:50:59

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

編輯:

請參閱本link如何監控C#

+0

OP是要求這是在一個PictureBox的關鍵事件處理程序。那可能嗎? – tiago2014 2011-03-09 06:49:32