Come riportato nelle linee guida di Microsoft (di cui ho parlato in questo post), Windows Vista utilizza un nuovo font per le interfacce grafiche, il Segoe UI. Di consenguenza, è auspicabile che un'applicazione, a seconda del sistema operativo su cui viene eseguita, utilizzi il carattere predefinito corrispondente. I form creati con Visual Studio 2005 usano di default il MS Sans Serif, che è lo standard su Windows XP. Il seguente stralcio di codice mostra come modificare il carattere di tutti i controlli presenti in un form qualora il sistema operativo sia Windows Vista:
bool isWindowsVista = (Environment.OSVersion.Version.Major > 5);
if (isWindowsVista)
{
foreach (Control ctrl in this.Controls)
ctrl.Font = new Font("Segoe UI", 9.0f);
}
Questo codice può essere inserito nel costruttore del Form, subito dopo l'invocazione del metodo InitializeComponent. Per avere una soluzione sempre disponibile, si può modificare il template per l'oggetto Windows Form, in modo che il codice sopra riportato venga automanticamente inserito in tutti gli oggetti creati.