2016-10-19 9 views
0

プロジェクトのリソースに画像があります。vb.netを2つのイメージuisngを比較する方法?

私はイメージがMy.Resources.btnRemoveであるならば、私は私が実行したい他に、削除アクションを実行したいので、その後、私は画像を比較したい
btnViewProductRemove.Image = My.Resources.btnRemove

を使用して、ボタンにイメージを割り当てます行動を回復する。

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

しかし、このコードが動作しません:
はここに私のコードです。たぶんビットマップが違うのでしょうか?しかし、同じイメージがあります。 2つの画像をどのように比較できますか?

+0

リソースの特定のイメージがロードされているかどうかを確認する[VB.Net Ifステートメント]の重複可能性があります。(http://stackoverflow.com/questions/32811840/vb-net-if-statement-to-check-if) -a-specific-image-from-my-resources-is-loaded) –

+0

これは可能な限り非常に非効率的で無駄になります。代わりにチェックできるintまたはboolの値を追加設定してください。 –

答えて

2

My.Resources.btnRemoveは、毎回画像の新しいインスタンスを返すプロパティです。 リソースイメージの参照を保持することで動作させることができますが、ボタンのイメージに基づいて何をすべきかを決めるのは不適切です。 Tagプロパティはわずかに適切です:イメージを設定すると同時にbtnViewProductRemove.Tag = "remove"または= "recover"を設定し、それを比較するだけです。

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

あなたは、しかし、私は削除をしようと思いますし、片方のみの可視時に、ボタンに二つの別々のコントロールを回復することができます。

関連する問題