更改字体时,TabControl 选项卡标题会调整大小

rob*_*oll 2 c# tabcontrol winforms

我有一个应用程序,它在 Vista 中运行时将每个控件的字体更改为 SegoeUI。它工作正常,除了标签页的标题(从一个标签切换到另一个标签时要单击的按钮)。

标签页标题不会垂直增长以适应更大的字体大小,它们始终保持相同的高度。

是否有允许 TabControl 处理此问题的属性?(我试过 AutoSizeMode,但它只处理选项卡的宽度)

如果没有,根据字体大小以编程方式调整标签页标题大小的最佳方法是什么?

BFr*_*ree 5

选项卡控件上有一个 ItemSize 属性,您可以设置该属性来更改选项卡本身的大小。此外,为了帮助您获取文本的大小,Graphics 对象上有一个 MeasureString() 方法,它将返回一个具有给定文本大小的 SizeF 结构。这可以帮助您确定是否需要更改 ItemSize 属性。一些粗略的代码:

            Graphics g = this.tabControl1.TabPages[0].CreateGraphics();
            SizeF s = g.MeasureString(this.tabControl1.TabPages[0].Text, this.tabControl1.TabPages[0].Font);
Run Code Online (Sandbox Code Playgroud)