我有一個問題。首先,我會告訴你一個我自己製作的掃雷遊戲的小代碼片段。現在如何將一個值設置爲一個圖標?
lbl_grid[mineX, mineY].Text = "*";
,這樣做是它設置在我的網格礦山看起來像一個*
。
我想要的是爲lbl_grid[mineX, mineY].Text
分配一個Icon的值。這可能嗎?
我相信我可能不得不使用文本以外的東西,因爲圖標不是文字。
我有一個問題。首先,我會告訴你一個我自己製作的掃雷遊戲的小代碼片段。現在如何將一個值設置爲一個圖標?
lbl_grid[mineX, mineY].Text = "*";
,這樣做是它設置在我的網格礦山看起來像一個*
。
我想要的是爲lbl_grid[mineX, mineY].Text
分配一個Icon的值。這可能嗎?
我相信我可能不得不使用文本以外的東西,因爲圖標不是文字。
你是對的,你將不得不使用文本以外的東西。
一個選項是製作一個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>");
正如你所說的,一個選項是製作一個PictureBox的二維數組,但這不是一個PictureBox的二維數組。 'PictureBox [,] pictures = new PictureBox [rows,cols]();'是一個2D數組。 – 2013-02-12 21:41:46
由2d數組表示List列表。我是一個名單。 – gunr2171 2013-02-12 21:46:37
這聽起來像基本上你不應該使用'標籤'(因爲它們被設計爲顯示文本)......考慮使用'PictureBox'來代替。 – 2013-02-12 18:20:46
你使用什麼gui?窗體形式?那麼你可以使用'PictureBox.Image'。 – pascalhein 2013-02-12 18:22:18
你應該使用圖像控件並設置Image屬性 – ppetrov 2013-02-12 18:22:18