Ricerca personalizzata

magisterInformatica.it

[C#] Effetti speciali alle finestre

E-mail Stampa PDF

Utilizzando una funzione messa a disposizione dalla libreria "user32.dll" di Windows è possibile dare alle proprie finestre qualche effetto, come dissolvenza e transizione. Vediamo come.

 

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool AnimateWindow(IntPtr hwnd, int time, animateWindowFlags flag);
enum animateWindowFlags
{
HorPositive = 0x00000001,
HorNegative = 0x00000002,
VerPositive = 0x00000004,
VerNegative = 0x00000008,
Center = 0x00000010,
Hide = 0x00010000,
Activate = 0x00020000,
Slide = 0x00040000,
Blend = 0x00080000
}
public frmMain()
{
InitializeComponent();
// --> Effetto dissolvenza
AnimateWindow(Handle, 500, animateWindowFlags.Activate | animateWindowFlags.Blend);
// --> Effetto slide a scomparsa verso l'interno
AnimateWindow(Handle, 700, animateWindowFlags.Hide | animateWindowFlags.Slide | animateWindowFlags.Center);
// --> Effetto slide a comparsa da sinistra verso destra
AnimateWindow(Handle, 500, animateWindowFlags.Slide | animateWindowFlags.HorPositive);
// --> Effetto slide a scomparsa dall'angolo superiore verso l'angolo inferiore
AnimateWindow(Handle, 500, animateWindowFlags.Hide | animateWindowFlags.Slide | animateWindowFlags.HorNegative | animateWindowFlags.VerPositive);
// --> Effetto slide a comparsa dall'angolo inferiore verso l'angolo superiore
AnimateWindow(Handle, 500, animateWindowFlags.Activate | animateWindowFlags.Slide | animateWindowFlags.HorPositive | animateWindowFlags.VerNegative);
}

Come vedete non è difficile, basta passare alla funzione messa a disposizione dalla libreria il flag giusto e il gioco è fatto. Per domande o commenti scrivete sul forum nella sezione dedicata ai tips & tricks.

 

Guide

Tips & Tricks

Esercizi


Top 100 Joomla