2016-08-19 6 views
2

Я очень новичок в форме C# и windows.Анимация в .gif не отображается в окнах Форма

Я пытаюсь добавить PictureBox в форму окна и отобразить анимированное изображение .gif перед тем, как отобразить данные в форме.

Вот код для PictureBox:

private System.Windows.Forms.PictureBox pictureBox1; 

      // 
      // pictureBox1 
      // 
      this.pictureBox1.BackColor = System.Drawing.SystemColors.AppWorkspace; 
      this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); 
      this.pictureBox1.Location = new System.Drawing.Point(374, 442); 
      this.pictureBox1.Name = "pictureBox1"; 
      this.pictureBox1.Size = new System.Drawing.Size(16, 16); 
      this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; 
      this.pictureBox1.TabIndex = 19; 
      this.pictureBox1.TabStop = false; 
      this.pictureBox1.Visible = false;     

Теперь на кнопке щелкните рисунок должен быть загружен в поле изображения. Код, который выглядит следующим образом:

private void scanButton_Click(object sender, EventArgs e) 
     { 
      pictureBox1.Visible = true; 
      pictureBox1.Refresh(); 
     } 

Теперь, когда я нажимаю кнопку «Кнопка Scan», изображение становится видимым, но анимация не работает.

Пожалуйста, может кто-нибудь помочь мне, что здесь происходит?

Спасибо!

+1

Чтобы ваша анимация .gif работала, ваша основная (UI) нить должна быть бесплатной. Если вы выполняете какой-либо процесс в основном потоке, вы не получите эффект анимации. –

+0

Вы можете найти это сообщение полезным: [Show Transparent Loading Spinner над другими элементами управления] (http://stackoverflow.com/questions/37220327/show-transparent-loading-spinner-above-other-controls) –

ответ

0

Просто укажите путь к изображению в ImageLocation.

pictureBox1.ImageLocation = "C:\\throbber.gif"; 

PictureBox поймет, что это анимированный образ и играть. Отключение PictureBox или Form остановит воспроизведение анимации.

-1

Если вам действительно нужно использовать окно с картинками, вы можете перебирать коллекцию изображений. Но я настоятельно рекомендую использовать WebBrowser (ум это в основном IE)

Это должно помочь вам все анимации с использованием Windows Forms Simple animation using C#/Windows Forms

3

Для вашего GIF-анимации для работы, ваш основной (UI) поток должен быть свободно. Если вы выполняете какой-либо процесс в основном потоке, вы не получите эффект анимации.

С вашего вопроса, похоже, что вы выполняете операцию сканирования при нажатии кнопки. Это может быть проблемой.

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