Una TaskDialog con .net

TaskDialogIl .net Framework, almeno alla versione stabile attuale (3.5) non include alcun supporto alle nuove funzionalità offerte dai più recenti sistemi operativi Microsoft. In particolare, una delle novità introdotte con Windows Vista è la TaskDialog: una finestra di dialogo dalle infinite potenzialità.

Come fare per implementarla nelle nostre applicazioni .net? In rete si trovano moltitudini di esempi, peccato che la maggior parte di loro siano incompleti: non gestiscono proprio tutte le funzioni messe a disposizione dalle API di Windows.

La migliore che ho trovato, questa, è un wrapper che facilita l’utilizzo della TaskDialog da codice managed. Provandola, ho notato che è davvero ben gestita, ma ho trovato una serie di problemi, tra cui l’assenza di alcune icone utilizzate pesantemente anche da Windows.

Mi sono allora messo al lavoro e, visto che il codice è rilasciato sotto pubblico dominio, ho corretto il sorgente (scritto in C#). Implementate le funzionalità mancanti, ho pensato di ripubblicarle… peccato che la password del mio account CodeProject si sia magicamente modificata da sola…

Quindi colgo l’occasione per lasciarvi qui il codice sorgente modificato, che offro come opera di pubblico dominio.

La dll è già compilata, anche se non ricordo con quale versione del framework l’ho fatto. Nel caso, ricompilatela.

TaskDialog FULL – Download

Ed ecco, per finire, un confronto tra la nuova TaskDialog (prima immagine) e la vecchia MessageBox (seconda immagine):

TaskDialog

MessageBox

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *