используя изображение в операторе if - PullRequest
0 голосов
/ 04 декабря 2010

как я могу использовать изображение в операторе if?

например, я хочу отметить событие клика в картинке, что если в нем есть определенное изображение (например, изображение1), то поработайте заранее. Спасибо заранее

Обновление:

как это Picturebox может быть нулевым или иметь изображение в нем, я хочу проверить, находится ли image1 в нем или нет

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

теперь, когда я компилировал этот код, я допустил ошибку: не могу преобразовать system.drawing.image в bool

1 Ответ

3 голосов
/ 04 декабря 2010

Если у вас есть все изображения, загруженные в память, вы можете просто выполнить эталонное сравнение между объектом Image, назначенным для PictureBox, и другими объектами Image, чтобы определить, какое из них находится в PictureBox.

В качестве альтернативы, когда вы присваиваете Image для PictureBox, вы можете установить свойство Tag для PictureBox, чтобы идентифицировать изображение и использовать значение свойства Tag для теста в вашем обработчике событий. Конечно, в этом случае вам нужно только одно изображение в памяти, но вам понадобится какая-то идентифицирующая информация, например, имя изображения, которое нужно присвоить свойству Tag.

Обновление : Судя по вашему обновленному вопросу, кажется, вы готовы провести сравнение ссылок. Что вы можете сделать следующим образом

private void pictureBox34_Click(object sender, EventArgs e) 
{ 
    if (picturebox34.Image == image1) 
    { 
        f(); 
    } 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...