【发布时间】:2021-08-19 21:11:09
【问题描述】:
我们有一个适用于 .NET Framework 4.7.2 的 WinForms 应用程序。主窗体包含一个基于ToolStrip 组件的工具栏。其中一个按钮显示基于ContextMenuStrip 组件的下拉菜单。整个结构是这样的:
private ToolStrip MainToolStrip;
private ToolStripDropDownButton TextSizeButton;
private ContextMenuStrip TextSizeMenu;
MainToolStrip = new ToolStrip();
TextSizeButton = new ToolStripDropDownButton();
TextSizeMenu = new ContextMenuStrip();
MainToolStrip.Items.AddRange(new ToolStripItem[] {..., TextSizeButton, ...});
TextSizeButton.DropDown = TextSizeMenu;
使用应用配置文件中的标准<System.Windows.Forms.ApplicationConfigurationSection> 元素在应用中启用高dpi 支持(根据this Microsoft guide)。
这个下拉菜单在普通 96dpi 屏幕上看起来不错,但在高分辨率屏幕上图片就不那么好了,因为复选标记的灰色区域宽度不够:
如何解决这个问题?
【问题讨论】:
标签: .net winforms drop-down-menu contextmenustrip highdpi