启动if pictureBox点击事件时,以下是否可行?

时间:2015-10-19 16:04:24

标签: c#

我一直在尝试制作匹配游戏,最近我了解到以下情况:

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'只能出现在+ =或 - =。

的左侧

这是什么意思?为什么这对检查复选框有用,但不适用于点击图片框?提前谢谢。

1 个答案:

答案 0 :(得分:1)

Checked是复选框的。在任何给定时间,都会选中或取消选中复选框。阅读myCheckBox.Checked会立即返回复选框的当前状态。

Click是一个事件。你期望if (pictureBox.Click == true)做什么?告诉你是否在最后X秒内点击了pictureBox?等待X秒以便用户在pictureBox上单击(或不单击)?

换句话说:如果选中一个复选框,它将一直保持检查状态,直到取消选中。因此,检查复选框的当前状态是有意义的。另一方面,如果单击一个按钮,它只会立即“点击”,然后返回“未被点击”。因此,查询按钮的“点击”状态是没有意义的。

PS:与==进行比较,而不是=。后者是一种分配。而且,正如Hugh在评论中正确指出的那样if (boolean)就足够了,if (boolean == true)是多余的。