Ciao
Per quanto riguarda le dissolvenze puoi usare l'API di Windows AnimateWindow:
[DllImport("user32.dll")]
static extern bool AnimateWindow(IntPtr hwnd, int dwTime, AnimateFlags dwFlags);
[Flags()]
enum AnimateFlags
{
AW_HOR_POSITIVE = 0x01,
AW_HOR_NEGATIVE = 0x02,
AW_VER_POSITIVE = 0x04,
AW_VER_NEGATIVE = 0x08,
AW_CENTER = 0x10,
AW_HIDE = 0x010000,
AW_ACTIVATE = 0x020000,
AW_SLIDE = 0x040000,
AW_BLEND = 0x080000
}
Per mostrare una finestra devi passare l'handle di sistema (Proprietà Handle del controllo), il periodo di animazione, e quindi il tipo di animazione. Ti rimando alla guida su MSDN per i tipi di animazione:
http://msdn.microsoft.com/it-it/library/ms632669(en-us).aspx
Per nascondere la finestra anziché mostrarla, devi eseguire un or con AW_HIDE sul parametro dwFlags.
Luca