Modifier la taille de la police ContextMenu en C #
-
01-07-2019 - |
Question
Est-il possible de changer la taille de la police utilisée dans un ContextMenu en utilisant .NET Framework 3.5 et C # pour une application de bureau? Il semble que ce soit un paramètre à l’échelle du système, mais j’aimerais le modifier uniquement dans mon application.
La solution
Si vous définissez votre propre menu contextuel via un ContextMenuStrip
dans Windows Forms, utilisez la propriété Police .
Si vous définissez votre propre menu contextuel via un ContextMenu
dans WPF, utilisez les différentes propriétés Fontxxx telles que FontFamily et . Taille de police .
Vous ne pouvez pas modifier les menus contextuels par défaut fournis avec les commandes. ceux-ci sont déterminés par les paramètres du système. Donc, si vous voulez le "Copier / Couper / Coller / etc." menu avec une taille de police personnalisée pour un TextBox
WinForms, vous devrez créer un ContextMenuStrip
avec la taille de police appropriée et l’affecter à la TextBox
ContextMenuStrip de>.
Autres conseils
Vous pouvez modifier la taille de la police d'un System.Windows.Forms.ContextMenuStrip.
Si vous devez modifier la taille de la police du menu contextuel Couper / Copier / Coller par défaut dans les zones de texte, vous devez définir la propriété ContextMenu sur un menu personnalisé qui remplace le menu par défaut.
Dans WPF:
<Window.ContextMenu FontSize="36">
<!-- ... -->
</Window.ContextMenu
Dans WinForms:
contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);
Vous parlez de .NET 3.5 - écrivez-vous en WPF? Si tel est le cas, vous pouvez spécifier la taille de la police pour la propriété jointe TextBlock.FontSize
<Whatever.ContextMenu TextBlock.FontSize="12">
<MenuItem ... /> <!-- Will get the font size from parent -->
</Whatever.ContextMenu>
Vous pouvez également le spécifier dans un style qui affecte tous les éléments de menu
<Style TargetType="MenuItem">
<Setter Property="TextBlock.FontSize" Value="12" />
</Style>
Bien sûr, il est toujours préférable de laisser le paramètre système déterminer la taille de la police. Certaines personnes peuvent l'avoir modifiée pour qu'elle corresponde mieux à leur condition physique (comme une mauvaise vue) ou à du matériel (grand / petit écran). Quoi que vous imposiez dans votre code, ce ne serait pas le bon choix pour certaines personnes, alors que vous ne leur laisserez aucun moyen de le changer.