我一直在尝试制作匹配游戏,最近我了解到以下情况:
if (checkBox1.checked = true)
{
MessageBox.Show("For Example.")'
}
那为什么以下不可能?
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show("Now Pick Another Hidden Picture!");
pictureBox1.Visible = false;
if (pictureBox13.Click = true)
{
MessageBox.Show("Great!");
pictureBox13.Visible = false;
double score = score + 1;
textBox1.Text = (score).ToString();
}
else
{
MessageBox.Show("Try Again!");
pictureBox13.Visible = true;
pictureBox1.Visible = true;
}
}
.Click下有一个错误行,错误是:
事件' system.Windows.Forms.Control.Click'只能出现在+ =或 - =。
的左侧这是什么意思?为什么这对检查复选框有用,但不适用于点击图片框?提前谢谢。
答案 0 :(得分:1)
Checked
是复选框的州。在任何给定时间,都会选中或取消选中复选框。阅读myCheckBox.Checked
会立即返回复选框的当前状态。
Click
是一个事件。你期望if (pictureBox.Click == true)
做什么?告诉你是否在最后X秒内点击了pictureBox?等待X秒以便用户在pictureBox上单击(或不单击)?
换句话说:如果选中一个复选框,它将一直保持检查状态,直到取消选中。因此,检查复选框的当前状态是有意义的。另一方面,如果单击一个按钮,它只会立即“点击”,然后返回“未被点击”。因此,查询按钮的“点击”状态是没有意义的。
PS:与==
进行比较,而不是=
。后者是一种分配。而且,正如Hugh在评论中正确指出的那样if (boolean)
就足够了,if (boolean == true)
是多余的。