所以我有隐藏按钮,我只想在达到maxAttempts时显示,使用下面的代码,按钮在第一次错误尝试后打开。另外,当我在这里时,我想在游戏结束时禁用按钮和文本框,但是当我写btncheckAnswer.disable和txtResult.disable时,我看到异常。
有什么建议吗?
private void btnCheckAnswer_Click(object sender, EventArgs e)
{
var userAnswer = double.Parse(txtResult.Text);
if (!puzzle.CheckTheAnswer(userAnswer))
{
MessageBox.Show("Wrong");
numAttempts++;
if (numAttempts < maxAttempts)
{ // UpdateImage();
NextQuestion();
}
else
if (numAttempts == maxAttempts)
{
MessageBox.Show("Game Over");
btnClose.Show();
btnNewGame.Show();
//btnCheckAnswer.disable();
//txtResult.disable;()
//Stop the game ();
//Block text box from receiving data
return;
}
}
else MessageBox.Show("Smarty Pants, You're Right!!");
{
NextQuestion();
}
return;
答案 0 :(得分:2)
你的&#34; Smarty Pants&#34; line必须在大括号内。
else
{
MessageBox.Show("Smarty Pants, You're Right!!");
NextQuestion();
}
就目前而言,这是你&#34;否则&#34;中的唯一一条线。子句,这意味着NextQuestion()
将始终触发。
答案 1 :(得分:1)
要稍微添加@ Joe的答案(除了需要格式化之外,这将是一条评论),这就是else
部分代码的样子,格式正确:
else
MessageBox.Show("Smarty Pants, You're Right!!");
{
NextQuestion();
}
请注意,{}
块并未附加到if
,它本身只是一个块。
答案 2 :(得分:1)
编辑:这只涉及问题的第二部分。
要禁用控件,请尝试将设置设置为false。
btnCheckAnswer.Enabled = false;