¿Como se hace?
If Button1.Image = My.Resources.Cancel_button Then
...
operator = is not defined for types system.drawing.image and system.windows.forms.bitmap
No se bien como se haria eso, pero como consejo te digo que no necesariamente tienes que hacer siempre todo de la forma obvia, por ejemplo fijate si no podrias hacer que cuando pones la imagen en un control, que le modifique la propiedad tag y asi luego verificando esa propiedad sabras que imagen tiene, ya que la imagen que pongas estara representada en un numero en la tag.
if button1.tag = 2 then "el boton tiene la imagen 2" ' imagen 2 = Cancel_button.
No se si justo viene al caso pero esa propiedad de los controles sirve mucho para sacarte de un apuro.
Sí, me sacaste del apuro $Edu$, bueno en realidad ví una solución muy parecida en Google después de postear la pregunta xD, lo que hice fue añadir un tag personalizado cuando modifico la imagen del control:
...
Button1.Image = My.Resources.Cancel_button
Button1.Tag = "Cancel"
...
If Button1.Tag = "Cancel" Then
Want_to_cancel_thread = True
While Not Thread_is_completed = True
Application.DoEvents()
End While
...
Gracias.
Ah, no sabia que la propiedad tag era string xD pensaba que se podia poner numeros nomas, en fin, mucho mejor!