Attribuer une police à son projet
Jaber_
Messages postés
25
Statut
Membre
-
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.
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
-
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
-
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 -
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");
-
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 ainsiFont maPolice = new Font("Calibri", 10.0f, FontStyle.Regular, GraphicsUnit.Pixel); StylePolice.AppliquePolice(this, maPolice);
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci beaucoup Whismeril.
Je procède aux adaptations et te reviens ^^