在我的项目中,我需要在运行时创建一些标签。它们具有不同的高度,取决于数据库的字段。我需要在标签上写一些文字,但如果标签的高度很小,我需要根据标签高度调整字体大小。
我试过这个:
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;
答案 0 :(得分:1)
您可以使用FontHeight属性更改字体的高度。这可以做到这一点。
<强> MSDN:强>
获取或设置控件字体的高度。 ... FontHeight属性不应设置为除。之外的任何值 control的Font.Height值,或-1.Setting FontHeight为-1有 清除缓存高度值的效果,值为 下次引用该属性时重新计算。
答案 1 :(得分:0)
如果将Label.AutoSize设置为false,则必须以编程方式设置标签的高度。您无法开始使用Label.Height来确定字体的大小,因为Label.Height将是其默认值(类似于23)。这与从数据库读取的高度无关。
数据库中用于指定标签高度的字段究竟是什么?它是什么单位?您没有在您发布的代码中使用任何数据库字段...