我正在重构Windows Forms应用程序,以在高DPI设置下正确缩放。此应用程序使用DockPanelSuite库将其某些工具(DockArea.DockLeft
)和主视图区域(DockArea.Document
)对接。
我的问题是,主视图区域选项卡条的宽度通常小于封闭的标题文本的宽度,如您所见here。另外,在缩放表单时(由于在具有不同DPI设置的屏幕之间移动),标签条按钮也无法正确缩放(请参见here)。
我尝试使用以下属性修改字体大小:
dockPanel1.Theme.Skin.DockPaneStripSkin.TextFont
dockPanel1.Theme.Skin.AutoHideStripSkin.TextFont
但是他们不缩放带状容器,仅缩放其中的文本。 如何以正确的方式缩放标签条宽度和按钮?
答案 0 :(得分:0)
首先,您应该查看用于缩放的代码。显然,它可以tab headers
垂直和水平缩放,但不是文本。
对此有两种可能的解决方案:
tab font
/ tab page font
并重新缩放如果您要使用第二种方法,则只需使用简单的创建扩展方法即可查看TextRenderer class来测量可用空间和字体大小,然后应使用tab.Font
来更改所有tabPages
上的字体立即或tabPage.Font
对其进行更改。
然后,当您初始化所有内容时,只需调用此方法yourTabControl.ResizeFonts();