调整文档停靠的DockContent中的停靠窗格选项卡条文本和按钮的大小

时间:2018-10-02 12:31:17

标签: c# winforms dockpanel-suite

我正在重构Windows Forms应用程序,以在高DPI设置下正确缩放。此应用程序使用DockPanelSuite库将其某些工具(DockArea.DockLeft)和主视图区域(DockArea.Document)对接。

我的问题是,主视图区域选项卡条的宽度通常小于封闭的标题文本的宽度,如您所见here。另外,在缩放表单时(由于在具有不同DPI设置的屏幕之间移动),标签条按钮也无法正确缩放(请参见here)。

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

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

但是他们不缩放带状容器,仅缩放其中的文本。 如何以正确的方式缩放标签条宽度和按钮?

1 个答案:

答案 0 :(得分:0)

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

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

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

如果您要使用第二种方法,则只需使用简单的创建扩展方法即可查看TextRenderer class来测量可用空间和字体大小,然后应使用tab.Font来更改所有tabPages上的字体立即或tabPage.Font对其进行更改。

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