我试图制作一个按钮,只要在C#中按整数增量点击就会显示不同的图像
C#
private void button1_Click(object sender, EventArgs e)
{
int a = 0;
a++;
if (a == 1)
{
pictureBox1.ImageLocation = "http://s20.postimg.org/uazs6u2p9/99639488.png";
}
else if (a == 2)
{
pictureBox2.ImageLocation = "http://s20.postimg.org/cdopdvz8t/99639514.png";
}
}
答案 0 :(得分:1)
您已在方法内部声明int a
,因此每次单击按钮时,都会创建一个值为0的新int。并且你总是将0增加到1.
而是将int a
声明为字段。当达到最大可用情况时,还会设置一个默认条件来重置计数器。
private int a = 0;
private void button1_Click(object sender, EventArgs e)
{
a++;
switch(a)
{
case 1: pictureBox1.ImageLocation = "http://s20.postimg.org/uazs6u2p9/99639488.png";
break;
case 2: pictureBox2.ImageLocation = "http://s20.postimg.org/cdopdvz8t/99639514.png";
break;
// put more cases here
default: a = 0; // reset counter
break;
}
}
还有另一种方法,而不是使用int
并按顺序显示图像,您可以使用随机int和随机化图像。
private Random r = new Random();
private void button1_Click(object sender, EventArgs e)
{
switch(r.Next(1,2))
{
case 1: pictureBox1.ImageLocation = "http://s20.postimg.org/uazs6u2p9/99639488.png";
break;
case 2: pictureBox2.ImageLocation = "http://s20.postimg.org/cdopdvz8t/99639514.png";
break;
// put more cases here
}
}
r.Next(x,y)
只是在x和y之间产生一个随机数。因此,如果您有10个案例,则必须r.Next(1,10)
。如果你有6个案例r.Next(1,6)
等......