当我在设计器中选择一个标签例如常规并在属性中更改字体大小时,它将仅更改选项卡内控件的大小,但名称General将保持较小。
我无法找到更改常规尺寸的位置/方式。
标签属性截图我更改了标签字体大小但标题常规仍然很小。属性Text it的大小没有改变。
答案 0 :(得分:5)
如果您更改Font
控件的Tab
大小,则标题页标题的字体将更改。由于字体是ambient
属性,因此它也会传递给所有包含的控件。
为防止这种情况发生,最好将字体重置为每个TabPage
的原始尺寸。
在屏幕截图中,您向我们展示了设置Font
1>} 1>} 1>} {<1>} <{1>} 的效果} 只要。这当然不会影响标签页..
答案 1 :(得分:0)
我想让UI中的TabControl标头字体大小可调,但是遇到一个问题,就是我不能只更改标头大小,而不能更改标签中的所有字体。如上所述,这是因为子控件中字体属性的环境性质。
最后,我的解决方案是使用以下例程首先删除子控件中字体的环境/继承特性:
public static void ForceNonAmbientFont(System.Windows.Forms.Control.ControlCollection ctrls)
{
foreach (Control ctrl in ctrls)
{
if (ctrl.Controls != null) ForceNonAmbientFont(ctrl.Controls);
if (ctrl != null)
{
var fontFamilyName = ctrl.Font.FontFamily.Name;
var fontStyle = ctrl.Font.Style;
ctrl.Font = new Font(fontFamilyName, ctrl.Font.Size, fontStyle);
};
};
}
然后使用您要为其更改标题字体的TabControl的名称来调用它。然后,这会“锁定”儿童的所有字体。
ForceNonAmbientFont(MyTabControl.Controls);
然后,您可以更改TabControl的字体,而不会弄乱其他任何内容。
MyTabControl.Font = new System.Drawing.Font("Microsoft Sans Serif", size, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));