如何使用vb.net比较两种图像?

如何使用vb.net比较两种图像?,vb.net,image,compare,Vb.net,Image,Compare,我在我的项目的参考资料中得到了这个图像 我使用 btnViewProductRemove.Image=My.Resources.btnRemove 然后我希望比较图像,因为如果图像是My.Resources.btnRemove,那么我希望执行删除操作,否则我希望执行恢复操作。 这是我的代码: If btnViewProductRemove.Image.Equals(My.Resources.btnRemove) Then 'Perform Remove Else

我在我的项目的参考资料中得到了这个图像

我使用
btnViewProductRemove.Image=My.Resources.btnRemove

然后我希望比较图像,因为如果图像是My.Resources.btnRemove,那么我希望执行删除操作,否则我希望执行恢复操作。
这是我的代码:

If btnViewProductRemove.Image.Equals(My.Resources.btnRemove) Then
        'Perform Remove
    Else
        'Perform Recover
End If

但是,此代码不起作用。也许位图是不同的?但也有相同的图像。如何比较两个图像?

My.Resources.btnReject
是一个属性,每次都返回一个新的图像实例。您可以通过保留资源图像的引用来实现这一点,但是根据按钮的图像来决定要做什么是不合适的。
Tag
属性稍微合适一些:在设置图像的同时设置
btnViewProductRemove.Tag=“remove”
=“recover”
,然后进行比较

If CStr(btnViewProductRemove.Tag) = "Remove" Then
    ' Remove
Else
    ' Recover
End If

但是,如果可以,我会尝试将“删除”和“恢复”按钮设置为两个单独的控件,一次只显示其中一个控件。

My.Resources.btnRemove
是一个属性,每次都返回一个新的映像实例。您可以通过保留资源图像的引用来实现这一点,但是根据按钮的图像来决定要做什么是不合适的。
Tag
属性稍微合适一些:在设置图像的同时设置
btnViewProductRemove.Tag=“remove”
=“recover”
,然后进行比较

If CStr(btnViewProductRemove.Tag) = "Remove" Then
    ' Remove
Else
    ' Recover
End If

但是,如果可以,我会尝试将“删除”和“恢复”按钮设为两个单独的控件,一次只能看到其中一个。

如果可能复制,则效率极低且浪费巨大。在您可以检查的地方设置一个额外的int或bool值。可能的重复,虽然可能,但效率极低且浪费。在可以检查的地方设置一个额外的int或bool值。