增加图像在图片框中显示的次数

时间:2014-06-06 11:31:01

标签: c#

我尝试使用按钮单击显示图像并在显示某个图像时递增变量,但下面的代码变量num始终为0.

我的代码

    int num = 0;
    int i = 0;
    int x = 0;

    PictureBox[] pictureBoxs = new PictureBox[4];

    Random rnd = new Random();


    public UserControl1()
    {
        InitializeComponent();

        pictureBoxs[0] = pbimg1;
        pictureBoxs[1] = pbimg2;
        pictureBoxs[2] = pbimg3;
        pictureBoxs[3] = pbimg4;

       x = rnd.Next(2);

    }


    public void displaypics()
    {
        pictureBoxs[i].Image = imageList1.Images[x];
    }



    private void btn2_Click(object sender, EventArgs e)

    {
        i=1;

        displaypics();

        if (pictureBoxs[i].Image == imageList1.Images[1])
        {
            num++;
        }

        if (num == 2)
        {
            tb1.Visible = true;
            tb1.Text = "GAME OVER!" + num;
        }
    }

3 个答案:

答案 0 :(得分:0)

原因很可能是每次实例化类时,num都被实例化为零

答案 1 :(得分:0)

我不确定使用该代码的上下文是什么。所以我想应该解决这个问题的方法是将x = rnd.Next(2)添加到btn2_Click方法中。看起来像这样:

private void btn2_Click(object sender, EventArgs e)
{
    x = rnd.Next(2);
    displaypics();

    if (pictureBoxs[i].Image == imageList1.Images[1])
    {
        num++;
    }

    if (num == 2)
    {
        tb1.Visible = true;
        tb1.Text = "GAME OVER!" + num;
    }

    i++;
}

也许您可以提供一些有关控件应该做什么/如何使用的详细信息。

答案 2 :(得分:0)

设置断点并逐步执行代码会发生什么? int设置为0,还是包含更新后的值?