Magari ero l'unico a non saperlo, ma oggi ho passato un
paio di ore ad impazzire per capire come mettere i bottoni XP sull'applicativo
del quale vi ho già parlato.
Su Google è uscito di tutto, dagli articoli su CodeProject che dicevano di farsi dei controlli ad hoc per i bottoni
arrontondati, a post sui newsgroup e altri che dicevano di mettere un file
nomeprogramma.exe.manifest nel quale mettere delle dipendenze ai
Common-Controls.
Ma alla fine troppo sbattimento... alla fine ho chiesto aiuto al mio guru
preferito, e ho scoperto che basta una banale chiamata ad un metodo... e per
magia lo style "System" dei bottoni mostra i bottoni bombati di XP!!
static void Main()
{
if ((Environment.OSVersion.Platform == PlarformID.Win32NT) &&
(Environment.OSVersion.Version.Major >= 5) &&
(Environment.OSVersion.Version.Minor > 0) &&
(OSFeature.Feature.IsPresent(OSFeature.Themes)))
{
Application.EnableVisualStyles();
Application.DoEvents();
}
Application.Run(new Form1());
}
Poi bisogna impostare il FlatStyle dei bottoni (bottoni, radio, checkbox) a "System".
Attenzione, il metodo statico EnableVisualStyles funziona
solo con la 1.1 del framework: con la 1.0 invece bisogna usare per forza il file
.manifest... per la 2.0 invece non.... non ne ho idea
UPDATE: ho aggiornato lo snippet grazie ai contributi dei commenti
powered by IMHO 1.2
posted @ venerdì 9 settembre 2005 02:05