2016-02-06 53 views
-1

我在我的程序中有7个选项,我想在更改2个数组值之后,程序执行其他选项。 这是我的数组c#在数组中找到2个值

string[] map = {"0","0","0","0","0","0","0"}; 

再举例来说,我有我的图片框单击这些线路

void PictureBox1Click(object sender, EventArgs e){ 
    if(map[0] == "0"){map[0] = "B";} 
    PictureBox1.Image = Image.FromFile("../Debug/images/changed-image.png"); 
} 

和结束时,当我点击我的7 PictureBox的2,数组可以像这样

string[] map = {"B","0","0","0","B","0","0"}; 

这2名更改后,我想用户可以选择其他2个选项,但现在到图片框显示其他图像,像绿变图像

即时通讯新的C#,这就是为什么我在那里寻找答案。

感谢您的帮助:)

+0

这很难理解你想要什么......改善你的问题。 – Gusman

+0

@Gusman对不起,但英文不是我的母语:( – eatmailyo

+0

是的,我明白了,但我们无法知道你需要那样的... – Gusman

回答

0

好吧,看我相信我明白你想要什么,我会改变很多的逻辑网在:

1,创建5个图片框(你应该)和在Tag属性中存储地图名称。

2-创建列表mapChoices = new List();在表单定义中。

3对的图片框点击使用:

void PictureBox_Click(object sender, EventArgs e) 
{ 
    string theMap = (sender as PictureBox).Tag.ToString(); 

    if(mapChoices.Count > 3 || mapChoices.Contains(theMap)) 
     return; 

    mapChoices.Add(theMap); 

    PictureBox1.Image = Image.FromFile("../Debug/images/changed-image.png"); 
} 

经过4次点击它会让你的四张地图列表,前两个是被禁止的,儿女,第三和第二选择那些。

+0

哦,在C#中的新鲜事,只知道简单的事情。我不知道该把什么东西放在哪里,也许我们可以讨论这个比这个网站更容易?也许我更了解你:) – eatmailyo

+0

我试着加入你的一个stackoverflow聊天,但你没有足够的信誉... – Gusman

+0

也许还有其他地方可以讨论? Skype的e.tc. – eatmailyo

0

我不知道我理解正确你,但是如果我有,你总是可以指望一个“B”字符出现在你的地图数组的次数,并采取相应的行动。例如:

void PictureBox1Click(object sender, EventArgs e){ 
    int i, times=0;   
    for (i=0;i<7;i++) 
     if (map[i]=="B") 
      times++; 
    if(map[0] == "0"){map[0] = "B";} 
    if (times<2) 
     PictureBox1.Image = Image.FromFile("../Debug/images/changed_image.png"); 
    else 
     PictureBox1.Image = Image.FromFile("../Debug/images/another_changed-image.png"); 
}