2010-05-12 50 views
0

隱藏多個PictureBox除了點擊

讓我解釋一下我想要做的事情。 我有一個Form與10 PictureBoxes就可以了。 當我在其中一個我click我想隱藏除點擊之外的所有其他人。 在ClickEvent上可能會隱藏others.but但我要求高效的方式。例如,可能是單擊事件的單個函數調用。

+0

你在說哪種語言? – Sarfraz 2010-05-12 06:47:38

+0

我正在談論c# – ozman 2010-05-12 06:51:29

回答

0

我沒有在這臺電腦上安裝.net,但這裏是我的解決方案。

爲每個控件創建一個標籤,然後選擇全部10個圖片框併爲它們創建一個點擊事件。

在點擊事件中,您可以使用此代碼來遍歷所有控件並僅隱藏圖片框。

foreach (Control ctrl in Form1.Controls) 
{ 
    if (ctrl.GetType() == typeof(PictureBox)) 
    { 
     if (((PictureBox)ctrl).Tag == ((PictureBox)sender).Tag) 
     { 
      ctrl.Hide(); 
     } 
     else 
     { 
      ctrl.Show(); 
     } 
    } 
} 

你也許能夠比較沒有標籤的對象,但是我不能在沒有安裝c#的情況下測試它。

+0

謝謝。我試試看,它有效 – ozman 2010-05-12 10:20:37

0

只需編寫一個接受Object的函數即可。在這個函數中,你可以遍歷所有這些圖片框並將其與對象進行比較。如果這是發件人對象,你不會隱藏,否則你會。

+0

我現在明白了。謝謝很多 – ozman 2010-05-12 07:13:24