Это довольно просто. Если вы можете загрузить изображение перед тем, как назначить его для графического блока, то вы достаточно доказали, что изображение действительно и что пользователю есть на что посмотреть. Декодеры изображений GDI + очень тщательно проверяют содержимое файла. Таким образом:
private void button1_Click(object sender, EventArgs e) {
if (openFileDialog1.ShowDialog(this) != DialogResult.OK) return;
try {
Bitmap bmp = new Bitmap(openFileDialog1.FileName);
if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
pictureBox1.Image = bmp;
}
catch (Exception ex) {
MessageBox.Show(ex.Message, "Could not load image");
}
}