我尝试使用按钮单击显示图像并在显示某个图像时递增变量,但下面的代码变量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;
}
}
答案 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,还是包含更新后的值?