Attribuer une police à son projet

Jaber_ Messages postés 25 Statut Membre -  
Jaber_ Messages postés 25 Statut Membre -
Bonjour,

J'ai cherché partout mais en vain... savez-vous si l'on peux attribuer une police à son projet afin qu'en standard, tout les objets soient dans une police bien définie ?

Merci de votre aide.

5 réponses

  1. Utilisateur anonyme
     
    Bonjour,

    En Wpf tu crées un style applicable à tout controle.

    En winform, à ma connaissance il faut appliquer pour chaque contrôle, soit à la main en mode design, soit avec une boucle dans le formLoad
    0
  2. Jaber_ Messages postés 25 Statut Membre
     
    Merci de t’intéresser à mon poste.
    J'ai essayé ceci :
        public Form1()
                {
                    SetFontFinal();
                }
         
        private void SetFontFinal()
                {
                    string fontName = "Futura Bk";
                     Font testFont = new Font(fontName, 14.0f, FontStyle.Regular, GraphicsUnit.Pixel);
         
                    if (testFont.Name == fontName)
                    {
                        //Utilise "Futura Bk" dans le cas où elle existe
                        this.Font = testFont;
                    }
                    else
                    {
                        //Utilise Calibri dans le cas ou "Futura Bk" n'existe pas.
                        this.Font = new Font("Calibri", 10.0f, FontStyle.Regular, GraphicsUnit.Pixel);
                    }
        }

    Mais effectivement, il y a du travail derrière.

    Je vais essayer en Wpf (bien que je n'y connait rien :D)
    Ton aide me sera précieuse en tout cas
    0
    1. Utilisateur anonyme
       
      A savoir que si Winform tolère de bidouiller un C# pas trop bien objet, ça n'est pas le cas pour WPF.

      C'est 100% objet et binding.
      0
  3. Utilisateur anonyme
     
    Pour chercher si ta police existe j'aurais plutôt fait comme ça
               InstalledFontCollection installedFontCollection = new InstalledFontCollection();
                //première option on veut juste savoir si une police existe
                bool option1 = installedFontCollection.Families.Any(f => f.Name == "Futura Bk");
               
    
                //2eme option on aura besoin plus loin de la liste de tous les noms de polices présentes
                List<string> fontsNames = (from f in installedFontCollection.Families
                                               select f.Name
                                               ).ToList();
                bool option2 = fontsNames.Contains("Futura Bk");

    0
  4. Utilisateur anonyme
     
    Et pour appliquer une police, un truc comme ça
        public static class StylePolice
        {
            /// <summary>
            /// Applique une police à un Form et tous ses contrôles
            /// </summary>
            /// <param name="LeForm"></param>
            /// <param name="LaFont"></param>
            public static void AppliquePolice(Form LeForm, Font LaFont)
            {
                LeForm.Font = LaFont;
                foreach (Control c in LeForm.Controls)
                    AppliquePolice(c, LaFont);
            }
    
            /// <summary>
            /// Applique une police à un contrôle et le cas échéants à tous les contrôles contenus
            /// </summary>
            /// <param name="LeControl"></param>
            /// <param name="LaFont"></param>
            /// <remarks>La méthode est récursive pour aller juste qu'au dernier contrôle</remarks>
            private static void AppliquePolice(Control LeControl, Font LaFont)
            {
                LeControl.Font = LaFont;
    
                foreach (Control c in LeControl.Controls)
                    AppliquePolice(c, LaFont);
    
            }
        }


    à appeler ainsi
               Font maPolice = new Font("Calibri", 10.0f, FontStyle.Regular, GraphicsUnit.Pixel);
    
                StylePolice.AppliquePolice(this, maPolice);
    

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jaber_ Messages postés 25 Statut Membre
     
    Merci beaucoup Whismeril.

    Je procède aux adaptations et te reviens ^^
    0