2011-11-18 16 views
5

Ho il pulsante che è possibile creare animare al clic?Crea pulsante animato

enter image description here

con photoshop Ho creato un'immagine di due (abilitato e disabilitato). Inserisci la picturebox in Windows Form e fai clic su evento. Fai clic su l'immagine cambia da abilitata a disabilitata, ma puoi avere un'animazione?

Ti piace questa:

enter image description here

+0

È basato su XAML o WinForm? L'animazione in XAML è facile. – kol

+0

Metro? WinForms? WPF? Silverlight? ASP.Net? MonoTouch? – SLaks

+0

Windows Form o WPF – jolly

risposta

1

Sembra che lei ha citato WinForms quindi mi rivolgo a questo. Sì, l'animazione è possibile, ma in generale sarà un po 'di lavoro.

Sembra esserci un'implementazione di un framework di animazione generico (anche se limitato) su CodeProject. Nei commenti schallos ha pubblicato una migliore implementazione del codice di riflessione usando gli alberi di espressione.

Il principio generale è:

  • Utilizzare un PictureBox in modo da ottenere il doppio buffering
  • Utilizzare un controllo timer per controllare riverniciatura (chiamando Invalidate() sul PictureBox)
  • Probabilmente si vorrà aggiungere un po 'di attenuazione nell'animazione in modo che appaia più agevole; un po 'di accelerazione aggiunta quando l'utente fa clic su una lunga strada.
1

Un timer non è richiesto utilizzando una GIF.

Utilizzando i moduli di Windows è possibile iniziare creando una GIF animata per ciascun pulsante. Dovrebbe includere sia la direzione avanti che quella indietro. Puoi farlo tramite Photoshop tramite il pannello "Animazione". Nell'evento Click PictureBox è possibile impostare l'immagine da riprodurre o interrompere.

Il codice seguente imposta la tua immagine sul fotogramma iniziale.

imgButtonDimension = new FrameDimension(imgButtonDimension.FrameDimensionsList[0]); 
imgButton.SelectActiveFrame(imgButtonDimension, 0); 
pictureBox.Image = imgButton;` 

Se questo è l'approccio che vorresti intraprendere, posso fornire ulteriori elaborazioni.