我有一个问题。首先,我会告诉你一个我自己制作的扫雷游戏的小代码片段。现在如何将一个值设置为一个图标?
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