设置字体的高度

时间:2013-01-14 08:29:39

标签: c# winforms fonts height label

在我的项目中,我需要在运行时创建一些标签。它们具有不同的高度,取决于数据库的字段。我需要在标签上写一些文字,但如果标签的高度很小,我需要根据标签高度调整字体大小。

我试过这个:

Label lbl = new Label();
lbl.AutoSize = false;
lbl.Font = new System.Drawing.Font(lbl.Font.FontFamily, Convert.ToSingle(lbl.Height / 2));
lbl.TextAlign = ContentAlignment.MiddleCenter;

2 个答案:

答案 0 :(得分:1)

您可以使用FontHeight属性更改字体的高度。这可以做到这一点。

<强> MSDN:

  

获取或设置控件字体的高度。   ...   FontHeight属性不应设置为除。之外的任何值   control的Font.Height值,或-1.Setting FontHeight为-1有   清除缓存高度值的效果,值为   下次引用该属性时重新计算。

答案 1 :(得分:0)

如果将Label.AutoSize设置为false,则必须以编程方式设置标签的高度。您无法开始使用Label.Height来确定字体的大小,因为Label.Height将是其默认值(类似于23)。这与从数据库读取的高度无关。

数据库中用于指定标签高度的字段究竟是什么?它是什么单位?您没有在您发布的代码中使用任何数据库字段...