public void winCheck()
{
if (button1.Image == img1)
{
w1 = \"P2\";
button1.Image = new Bitmap(@\"win_cross.png\");
button2.Image = ne
Your code doesn't work because you are comparing the variables pointing to the images (i.e. in memory address) not the image data (pixels).
See ImageComparer.Compare method. Has overloads to specify tolerance. It is available since VS2012.
https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.uitesting.imagecomparer.compare.aspx