0

我正在重构 Windows 窗体应用程序以使用高 DPI 设置正确缩放。此应用程序使用 DockPanelSuite 库来停靠它的一些工具 ( DockArea.DockLeft) 和主视图区域 ( DockArea.Document)。

我的问题是主视图区域选项卡条的宽度通常小于封闭的标题文本宽度,如您在此处看到的。此外,当表单被缩放时(因为在具有不同 DPI 设置的屏幕之间移动)选项卡条按钮无法正确缩放(参见此处)。

我尝试使用以下属性修改字体大小:

dockPanel1.Theme.Skin.DockPaneStripSkin.TextFont dockPanel1.Theme.Skin.AutoHideStripSkin.TextFont

但他们不缩放条形容器,只缩放里面的文本。我该怎么做才能以正确的方式缩放标签条宽度和按钮?

4

1 回答 1

0

首先,您应该查看用于缩放的代码。显然它可以tab headers垂直和水平缩放,但不是文本。

对此有两种可能的解决方案:

  • 重写用于缩放的代码,因此它也可以获取tab font/tab page font并重新缩放它
  • 创建自定义扩展方法

如果您选择第二种方法,只需简单地创建扩展方法,请查看TextRenderer 类来测量可用空间和字体大小,它应该去那里,然后使用一次tab.Font更改所有字体或为每个更改它。tabPagestabPage.Font

然后,当您初始化所有内容时,只需调用此方法yourTabControl.ResizeFonts();

于 2018-10-02T15:20:18.880 回答