2016-11-18 46 views
-1

我有8個圖片框,名爲p1到p8。通過計算引用C#對象

我想改變其中一個圖片框的背景顏色,具體取決於計算結果。

我可以創建一個以字母'p'開頭的字符串並將計算出的數字附加到該字符串中。

我正在尋找一個聰明的方式來引用一個圖片框與這個字符串(例如「p4」)。我的問題是,這可能嗎?

+6

爲什麼不使用數組或類似的東西? –

+1

而不是按名稱搜索使用集合,該集合包含所有圖像並通過索引訪問它們:'myImages [0] .Colur = ...'。它是什麼類型的應用程序? ASP?的WinForms? WPF ...? – HimBromBeere

+0

在WinForms中,你可以通過如下方式訪問一個控件:'this.Controls [「p4」]' –

回答

2

如果你真的希望通過像p4一個字符串,它指給他們,然後把他們的字典

var dict = new Dictionary<string,PictureBox>(); 
dict.add("p1",myP1dict); 
dict.add("p2",myP2dict); 
// etc 
dict["p2"].BackgroundColor = newColor; 

更有可能的是,你可以只是把它們放入數組

var arr = new PictureBox[8] 
arr[0] = myPictBox1 
arr[1] = myPictBox2 
//etc 
arr[1].BackgroundColor = newColor; 

並通過索引引用它們。