2013-03-26 11 views
6

Ich habe ein Ereignis, das aufgerufen wird, wenn meine App das Internet verwendet. Das Ereignis ändert ein animiertes GIF, das aus 7 Bildern besteht. Wie mache ich es nur Schleife durch die Frames nur einmal?C# Wie man das animierte GIF davon abhält, kontinuierlich zu loopen

 private void trafficSendingActive(object sender, trafficEventArgs e) 
     { 
      txImage.Image = Properties.Resources.blip; 
     } 
+0

Funktioniert das nicht 'txImage.Image = (blip);' oder vielleicht müssen Sie diesen Code in ein 'OnPaint Event' verschieben – MethodMan

+2

Wenn Sie txtImage deaktivieren, wird das GIF nicht animiert. – Flot2011

Antwort

6

Sie könnten System.Drawing.ImageAnimator verwenden, um die GIF-Animation zu starten/stoppen

6

Sie einzelnen Frame extrahieren aus, dass GIF Bild (nicht - animiert), wenn der Fortschritt Ereignis geschehen ist,

txImage.Image = Image.FormFile("non-animated-frame-from-gif.jpg"); 

Sie diese Website Rahmen von GIF extrahieren können: http://gif-explode.com/

7

Sie könnten das image/gif immer in eine Picturebox kapseln, und wenn Sie möchten, dass das gif aufhört, setzen Sie einfach die Enabled-Eigenschaft der Picturebox auf false.

Nur ein Gedanke.

2

Sie können einfach pictureBox.Enabled = false; verwenden, wenn Sie die GIF & pictureBox.Enabled = true; stoppen möchten, wenn Sie die GIF ausführen möchten.

Verwandte Themen