Cambiar el tamaño de fuente del menú contextual en C#
-
01-07-2019 - |
Pregunta
¿Es posible cambiar el tamaño de fuente utilizado en un ContextMenu utilizando .NET Framework 3.5 y C# para una aplicación de escritorio?Parece que es una configuración para todo el sistema, pero me gustaría cambiarla sólo dentro de mi aplicación.
Solución
Si está definiendo su propio menú contextual a través de un ContextMenuStrip
en Windows Forms, utilice el Fuente propiedad.
Si está definiendo su propio menú contextual a través de un ContextMenu
en WPF, utilice los distintos fuentexxx propiedades como Familia tipográfica y Tamaño de fuente.
No puede cambiar los menús contextuales predeterminados que vienen con los controles;estos están determinados por la configuración del sistema.Entonces, si desea el "Copiar/cortar/pegar/etc.". Menú con un tamaño de fuente personalizado para una winforms TextBox
, tendrás que crear un ContextMenuStrip
con el tamaño de fuente apropiado y asígnelo al TextBox
's ContextMenuStrip propiedad.
Otros consejos
Puede cambiar el tamaño de fuente de System.Windows.Forms.ContextMenuStrip.
Si necesita cambiar el tamaño de fuente del menú contextual predeterminado Cortar/Copiar/Pegar en los cuadros de texto, supongo que debe configurar la propiedad ContextMenu en un menú personalizado que reemplace el menú predeterminado.
En WPF:
<Window.ContextMenu FontSize="36">
<!-- ... -->
</Window.ContextMenu
En WinForms:
contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);
Mencionas .NET 3.5: ¿estás escribiendo en WPF?Si es así, puede especificar el tamaño de fuente para la propiedad adjunta TextBlock.FontSize
<Whatever.ContextMenu TextBlock.FontSize="12">
<MenuItem ... /> <!-- Will get the font size from parent -->
</Whatever.ContextMenu>
O puede especificarlo en un estilo que afecte a todos los elementos del menú.
<Style TargetType="MenuItem">
<Setter Property="TextBlock.FontSize" Value="12" />
</Style>
Por supuesto, siempre es mejor dejar que la configuración del sistema determine el tamaño de fuente.Es posible que algunas personas lo hayan cambiado para que se ajuste mejor a su condición física (como problemas de visión) o hardware (pantalla grande/pequeña).Cualquier cosa que fuerces en tu código será una elección incorrecta para algunas personas, mientras que no les darás forma de cambiarlo.