Да, событие LoadCompleted сообщает вам, что пошло не так:
private void pictureBox1_LoadCompleted(object sender, AsyncCompletedEventArgs e) {
if (e.Error != null) {
// You got the Error image, e.Error tells you why
}
}
Также может быть случай, когда загрузка изображения завершена правильно, но что-то не так с самим файлом изображения:
private void pictureBox1_Paint(object sender, PaintEventArgs e) {
if (pictureBox1.Image == pictureBox1.ErrorImage) {
// You got the Error image
}
}
Этот обработчик событий также перехватывает ошибки загрузки, поэтому вы можете использовать его.