2014-10-05 31 views
0

我試圖創建一個名爲「pictureBox」+ x的所有圖片框的列表。我已經試過我在網上找到了一些不同的方法,但他們沒有工作:(動態添加所有圖片框列表?

簡單的「代碼」:

int x = 1; 

List<PictureBox> list= new List<PictureBox>(); 


if (there is a picturebox named "pictureBox" + x) { 
    list.Add("pictureBox" + x as type PictureBox); 
    x = x + 1; 
} 
else 
    Stop running this code; 

那麼x將越來越大,直到有沒有發現更多pictureboxes哪有。我這樣做謝謝:)

編輯: 我使用Visual Studio中的winform,我試圖用

list.Add((PictureBox)Controls.Find("pictureBox" + x)); 

,但我不能得到那個工作。

+0

你至少可以說幾句關於你在網上找到的不同方法和嘗試,以及他們的結果..?此外,所有這些圖片盒應該生活在哪裏?在窗體上?作爲其n場?或者是其他東西?不知道這裏有什麼情況/更大的圖片.. – 2014-10-05 00:43:01

+0

沒有通用的方法來獲得它的名字控制。解決方案至少取決於平臺(winform,WPF,ASP.NET等),也許取決於你是如何創建和顯示這些'PictureBox'的......並且這些信息是不存在的! – har07 2014-10-05 01:02:57

+0

我同意har07。 one sooution可能是使用Dictionary ,所以你可以簡單地擺脫搜索 – sprinter252 2014-10-05 01:29:11

回答

0

試試這個,

foreach(var pb in this.Controls.OfType<PictureBox>()) 
{ 
    //do stuff 
} 

這會給你的PictureBoxes。並在foreach循環中檢查它的名字。如果它符合您的條件,請添加列表。

+0

謝謝!我剛剛添加「如果(pb.Name.StartsWith(」pictureBox「))」,它的工作:) – user2227486 2014-10-05 10:26:13