Sottoscrivi il feed di DotNetToscana Seguici su Twitter Unisciti a DotNetToscana su Facebook Seguici su Linkedin

Impostare il font di sistema di Windows Vista/7

Rate this Content 0 Votes

Autore: Marco Minerva

Come riportato nelle linee guida di Microsoft, Windows Vista e 7 utilizzano 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 e 2008, tuttavia, usano di default il MS Sans Serif, che è lo standard su Windows XP. Il seguente extension method mostra come modificare il carattere di tutti i controlli presenti in un form qualora il sistema operativo sia Windows Vista o versione superiore:

public static void SetVistaFont(this Form form)
{
    bool isWindowsVista = (Environment.OSVersion.Version.Major > 5);
    if (isWindowsVista)
    {
        foreach (Control ctrl in form.Controls)
            ctrl.Font = new Font("Segoe UI", 9.0f, ctrl.Font.Style);
    }
}

Questo metodo può essere richiamato in fase di creazione del form, ad esempio subito dopo l'invocazione di InitializeComponent:

public frmMain()
{
    InitializeComponent();
    this.SetVistaFont();
}