标签没有在Windows窗体上更新
问题描述:
在我编程的数学游戏中,我的Windows窗体中有数字显示总和的标签。标签没有在Windows窗体上更新
当我点击button1
时,它们应该更改为其他数字,但它们不会。应该改变的标签被称为lblNumber1
和lblNumber2
。
这里是我的代码:
public partial class plussommen : Form
{
int counter = 0;
int correct = 0;
int incorrect = 0;
Random rand = new Random();
int number1, number2;
int answer;
string sum;
public plussommen()
{
InitializeComponent();
number1 = rand.Next(1, 50);
number2 = rand.Next(1, 50);
sum = number1 + " + " + number2 + " = ";
answer = number1 + number2;
}
private void plussommen_Load(object sender, EventArgs e)
{
if (counter < 5)
{
lblNumber1.Text = number1.ToString();
lblNumber2.Text = number2.ToString();
}
}
private void button1_Click(object sender, EventArgs e)
{
lblCorrect.Text = correct.ToString();
lblIncorrect.Text = incorrect.ToString();
if (textBox1.Text == answer.ToString())
{
MessageBox.Show("Answer correct!");
correct = correct + 1;
}
else
{
MessageBox.Show("Answer incorrect!");
incorrect = incorrect + 1;
}
if (counter < 5)
{
lblNumber1.Text = number1.ToString();
lblNumber2.Text = number2.ToString();
}
else
{
if (counter == 5)
{
MessageBox.Show("You've made five sums, choose another kind of sum.");
this.Close();
Form1 menu = new Form1();
menu.Show();
}
}
}
}
答
要更改标签值的每次点击,您需要生成新的随机数各一次。
if (counter < 5)
{
number1 = rand.Next(1, 50);
number2 = rand.Next(1, 50);
lblNumber1.Text = number1.ToString();
lblNumber2.Text = number2.ToString();
}
答
在代码中,你是不是在初始化后的任何时间改变number1
和number2
值。这就是为什么他们没有在每次点击按钮后更新。
你需要做的是更新的数字,答案每次点击后:
private void button1_Click(object sender, EventArgs e)
{
//...
if (counter < 5)
{
number1 = rand.Next(1, 50);
number2 = rand.Next(1, 50);
answer = number1 + number2;
lblNumber1.Text = number1.ToString();
lblNumber2.Text = number2.ToString();
}
//...
}
是柜员 2014-10-29 14:41:14
循环在哪里? – 2014-10-29 14:41:16
我没有看到任何循环。你确定要写一切吗?或者你错过了什么? – 2014-10-29 14:41:57