if(pictureBox1.Image == ProjectName.Properties.Resources.Q)

时间:2014-08-25 14:35:59

标签: c# if-statement equals picturebox

我的代码中有问题,它不起作用,请看代码: 怎么了?我发现了这个:

if (pictureBox1.Image.Equals(Q))
{
    --stav;
}

它应该做这样的事情

if (pictureBox1.Image == ProjectName.Properties.Resources.Q)
{

}

我的问题是,如何制作if(pictureBox1.Image == ProjectName .....) 感谢

问题解决了!

1 个答案:

答案 0 :(得分:1)

Resources.SomeProperty让我们说SomePropertyImage将始终返回一个新实例。所以他们是不同的参考。

Image类不会重载==运算符。因此==将导致参考比较,对于不同的参考,它永远不会成立。

Image.Equals方法也无法正常工作,因为它不会覆盖Equals,因此将再次使用参考比较。

如果需要比较,您需要自己的图像比较算法。你可以通过逐像素比较来做到这一点。

相关问题