2010-12-04 16 views
0

Comment puis-je utiliser image dans if instruction?en utilisant image dans if instruction

par exemple je veux vérifier en cas de clic d'un picturebox que si une image spécifique (par exemple image1) est, puis faire quelques work.thanks à l'avance

mise à jour:

comme celui-ci le picturebox peut être nul ou avoir une image, je veux vérifier image1 est ou non

private void pictureBox34_Click(object sender, EventArgs e) 
    { 
     if (///picturebox34=image1) 
     { 
      f(); 
     } 
    } 

maintenant quand je compile ce code j'ai pris erreur: ne peut pas convertir System.Drawing.Image bool

+0

Que voulez-vous dire? Voulez-vous dire si vous voulez savoir si l'objet Image est égal à un objet Image différent? Ou voulez-vous comparer les différents octets d'une image pour voir s'ils correspondent? Une sorte d'algorithme de détection d'image? – Scottie

+0

Afficher l'exemple de code pour initialiser ou ajouter un élément à votre contrôle. –

+0

J'ai mis à jour ma question – Arash

Répondre

3

Si toutes les images sont chargées en mémoire, vous pouvez simplement effectuer une comparaison de référence entre l'objet Image affecté à PictureBox et les autres objets Image afin de déterminer lequel se trouve dans le PictureBox.

Alternativement lorsque vous associez le Image au PictureBox vous pouvez définir la propriété Tag du PictureBox pour identifier l'image et utiliser la valeur de la propriété Tag pour le test dans votre gestionnaire d'événements. Bien sûr, dans ce cas, vous n'avez besoin que d'une image en mémoire, mais vous devrez avoir une sorte d'information d'identification, comme le nom de l'image à assigner à la propriété Tag.

Mise à jour: En fonction de votre question mise à jour, il semble que vous souhaitiez effectuer une comparaison de références. Ce que vous pouvez faire comme suit

private void pictureBox34_Click(object sender, EventArgs e) 
{ 
    if (picturebox34.Image == image1) 
    { 
     f(); 
    } 
} 
+1

+1 Malgré la propriété 'Tag' impliquant beaucoup de casting de' Object' et n'étant vraiment pas ma solution préférée ... –