2014-02-21 41 views
1

我有一個問題,使字符串在C#中的圖片框的名稱。我的表單中有256個PictureBoxes。如何使字符串作爲PictureBox名稱?

現在,我有一個字符串數組,它是RanPicture += "Random" + Pic[step1 + 1]; 這個實際上會從文本文件中讀取一系列數據。

我想要的其實是讓RanPicture的圖片框的名字,這樣的照片會在指定的圖片框顯示讀取一系列字符串數據來。

例如,現在我在我的文本文件中有一個數據是00。其中一個PictureBox是Random00。

RanPicture.Image = Image.FromFile(Directory.GetCurrentDirectory() + "\\images\\image" + imagePic + ".jpg"); 

任何人都知道如何將字符串PictureBox的名稱轉換: 所以在這裏,RanPicture(串)必須相同Random00(圖片框的名稱),然後畫面將通過這顯示在Random00?

感謝您的幫助!

回答

0

可能這是最好的方式,你可以使用下面的功能...

private PictureBox getPictureBoxByName(string name) 
{ 
    foreach(object p in this.Controls){ 
     if(p.GetType() == typeof(PictureBox)) 
      if(((PictureBox)p).Name == name) 
       return (PictureBox)p; 
    } 
    return new PictureBox(); //OR return null; 
} 

功能給出stringname表單上返回PictureBox對象。

,改變你的代碼像

getPictureBoxByName(RanPicture).Image = 
Image.FromFile(Directory.GetCurrentDirectory() + 
"\\images\\image" + imagePic + ".jpg"); 
+0

Hi @Tun Zarni Kyaw非常感謝您的指導!有用!非常感謝你! – user3230590

1

您可以訪問控件作爲一個這樣的數組。然後,您可以輕鬆地根據您的喜好更改名稱。

PictureBox RanPicture = (PictureBox)this.Controls["PictureBox01"]; 
RanPicture.Image = Image.FromFile(Directory.GetCurrentDirectory() + "\\images\\image" + imagePic + ".jpg"); 
相關問題