2015-12-15 2 views
0

Недавно я начал разработку приложений Windows Forms. Я работаю с PictureBox, и я столкнулся с проблемой. Он теряет изображение, как показано на рисунках ниже, когда я перемещаюсь, или если я минимизирую его и откройте. Любая помощь приветствуется.PictureBox теряет изображение при навигации по другому приложению

private void button1_Click(object sender, EventArgs e) { 
     try { 
      using (FileStream fs = new FileStream("C:\\Users\\Public\\Pictures\\Sample Pictures\\Penguins.jpg", FileMode.Open, FileAccess.Read)) { 
       using (Image original = Image.FromStream(fs)) { 
        Bitmap image1 = (Bitmap)original; 
        pictureBox1.Image = image1; 
        pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; 
        pictureBox1.Refresh(); 
       } 
      } 

     } 
     catch (System.IO.FileNotFoundException) { 
      MessageBox.Show("There was an error opening the bitmap." + 
       "Please check the path."); 
     } 
    } 

Forms Application before Navigating

Forms Application after Navigating to another app or minimizing it

ответ

1

Это потому, что вы избавляетесь изображение

using (Image original = .... 
{ 
    Bitmap image1 = (Bitmap)original; 
    // ... 
} 

image1 является тот же объект original, просто бросить в Bitmap, и получает расположенный сразу после окрашивается на экран (с помощью метода Refresh).

Чтобы устранить эту проблему, используйте следующие вместо

Bitmap image1 = new Bitmap(original); 
// ... 
+0

Спасибо Иван. Это сработало. –

 Смежные вопросы

  • Нет связанных вопросов^_^