Флажки меню с неправильным масштабированием при высоком разрешении на дюйм с использованием .Net 4.8/Windows Forms

Используя .Net 4.8 и Windows Forms, мои меню панели инструментов с галочками обычно отображаются на 100%, но когда монитор установлен на что-то большее (например, 150%), галочка меню кажется слишком маленькой и расположена в верхней части экрана. слева от пункта меню.

Есть ли способ переопределить рисование галочки для использования на мониторах с высоким разрешением?

(При использовании масштабирования DPI для каждого монитора все остальные элементы управления формой отображаются правильно благодаря улучшениям масштабирования, начиная с .Net 4.7.2.


person pbickford    schedule 29.08.2019    source источник
comment
Многие растровые изображения/рисунки не масштабируются. Вы можете справиться с этим самостоятельно: класс ToolStripProfessionalRenderer, ToolStripProfessionalRenderer.OnRenderItemCheck и друзья.   -  person Jimi    schedule 30.08.2019
comment
Вы также можете отключить масштабирование ToolStrip, см. в App.Config, <System.Windows.Forms.ApplicationConfigurationSection> Toolstrip.DisableHighDpiImprovements (и друзьях :)   -  person Jimi    schedule 30.08.2019


Ответы (1)


Оказывается, проблема была на самом деле вовсе не в галочках; это было выравнивание изображения пункта меню (очевидно, оно использовалось для выравнивания галочки, когда в меню нет изображения). Настройка центрирования устранила проблему.

person pbickford    schedule 23.10.2019