Измените Размер шрифта ContextMenu в C#
-
01-07-2019 - |
Вопрос
Можно ли изменить размер шрифта, используемый в контекстном меню, используя .NET Framework 3.5 и C # для настольного приложения?Кажется, это общесистемный параметр, но я хотел бы изменить его только в своем приложении.
Решение
Если вы определяете свое собственное контекстное меню с помощью ContextMenuStrip
в Windows Forms используйте Шрифт собственность.
Если вы определяете свое собственное контекстное меню с помощью ContextMenu
в WPF используйте различные Шрифт Xxx такие свойства, как Семейство шрифтов и Размер шрифта.
Вы не можете изменить контекстные меню по умолчанию, которые поставляются вместе с элементами управления;они определяются системными настройками.Итак, если вы хотите меню "Копировать / Вырезать / Вставить / и т.д." с пользовательским размером шрифта для WinForms TextBox
, вам нужно будет создать ContextMenuStrip
с соответствующим размером шрифта и присвоите его TextBox
's Контекстное меню собственность.
Другие советы
Вы можете изменить размер шрифта в Системе.Windows.Формы.ContextMenuStrip.
Если вам нужно изменить размер шрифта контекстного меню "Вырезать / Копировать / Вставить" по умолчанию в текстовых полях, я думаю, вам нужно установить для свойства ContextMenu значение пользовательского меню, которое заменяет меню по умолчанию.
В WPF:
<Window.ContextMenu FontSize="36">
<!-- ... -->
</Window.ContextMenu
В WinForms:
contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);
Вы упомянули .NET 3.5 - вы пишете на WPF?Если это так, вы можете указать размер шрифта для текстового блока.Вложенное свойство FontSize
<Whatever.ContextMenu TextBlock.FontSize="12">
<MenuItem ... /> <!-- Will get the font size from parent -->
</Whatever.ContextMenu>
Или вы могли бы указать его в стиле, который влияет на все пункты меню
<Style TargetType="MenuItem">
<Setter Property="TextBlock.FontSize" Value="12" />
</Style>
Конечно, всегда лучше позволить системным настройкам определять размер шрифта.Некоторые люди, возможно, изменили его, чтобы он лучше соответствовал их физическому состоянию (например, плохому зрению) или оборудованию (большой / маленький экран).Что бы вы ни вводили в свой код, это будет неправильным выбором для некоторых людей, в то время как вы не даете им возможности это изменить.