Chi ha provato ad utilizzare gli oggetti OpenFileDialog e SaveFileDialog di .NET 2.0 con Windows Vista si sarà sicuramente accorto che le finestre così visualizzate non utilizzano il nuovo stile, ma appaiono così come erano in Windows XP.
Cercando maggiori informazioni in rete, ho scoperto perché. Le nuove API introdotte con Windows Vista non supportano l'hook delle finestre di dialogo: poiché gli oggetti OpenFileDialog e SaveFileDialog effettuano proprio l'hooking delle finestre, i controlli corrispondenti vengono visualizzati con il vecchio stile.
Per fortuna qualcuno ha già pensato alla soluzione: sul sito Channel9 è disponibile un controllo, completo di codice sorgente in C#, che consente di visualizzare le finestre Apri e Salva con nome utilizzando lo stile di Windows Vista. Se siete interessati, lo potete trovare qui.
UPDATE (31 Dicembre, ore 13.44). Se l'avessi fatto apposta non ci sarei riuscito: io e il mitico Corrado Cavalli abbiamo scritto un post sullo stesso argomento a distanza di un quarto d'ora!!!