2013-02-12 41 views
3

我有一個問題。首先,我會告訴你一個我自己製作的掃雷遊戲的小代碼片段。現在如何將一個值設置爲一個圖標?

lbl_grid[mineX, mineY].Text = "*"; 

,這樣做是它設置在我的網格礦山看起來像一個*

我想要的是爲lbl_grid[mineX, mineY].Text分配一個Icon的值。這可能嗎?

我相信我可能不得不使用文本以外的東西,因爲圖標不是文字。

+10

這聽起來像基本上你不應該使用'標籤'(因爲它們被設計爲顯示文本)......考慮使用'PictureBox'來代替。 – 2013-02-12 18:20:46

+0

你使用什麼gui?窗體形式?那麼你可以使用'PictureBox.Image'。 – pascalhein 2013-02-12 18:22:18

+1

你應該使用圖像控件並設置Image屬性 – ppetrov 2013-02-12 18:22:18

回答

1

你是對的,你將不得不使用文本以外的東西。

一個選項是製作一個PictureBox的二維數組。

int rows = 3; 
int cols = 4; 

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

for(int r = 0; r < rows; r++) 
{ 
    List<PictureBox> pList = new List<PictureBox>(); 
    for(int c = 0; c < cols; c++) 
    { 
     //do any positioning you need to do here 
     pList.Add(new PictureBox()); 
    } 
    pictures.Add(pList); 
} 

然後您可以訪問並設置圖像源。

pictures[rVal][cVal].Image = Image.FromFile("<file path>"); 
+0

正如你所說的,一個選項是製作一個PictureBox的二維數組,但這不是一個PictureBox的二維數組。 'PictureBox [,] pictures = new PictureBox [rows,cols]();'是一個2D數組。 – 2013-02-12 21:41:46

+0

由2d數組表示List列表。我是一個名單。 – gunr2171 2013-02-12 21:46:37

相關問題