c#中字体大小随控件的自动变化而变化。这个怎么实现啊。
这个是我做图时的原有比例
这个是我的窗体变化之后,label随form自动变化了,但是字体的大小却没有变化。这个要怎么修改啊 C# 控件 字体 label
[解决办法]
sizeChange事件中
Font font = new Font("宋体",ctrl.Height -6); //具体效果自己调整下
[解决办法]
字体这个不好自动变化吧,
不过自己也可以在窗体中的 Resize 事件中去写代码,
一旦检测到窗体的大小有变化,窗体字体的大小就作相应的变化
[解决办法]
乘以0.5神马意思不知道?就是按控件高度乘以0.5啊。Font字体的高度是按磅来的,磅和像素之间的转换自己google下。
在分辨率为96PX/英寸的显示器下,高度乘以0.5约是,字体高度占空间高度的65%
[解决办法]
看情况了,如果横向文字过多,是要考虑的。可以用Graphics的MeasureString,计算出文本的宽度。然后用递归,逐步缩小字体,直到能完全显示。
[解决办法]
private SizeF GetTextBounds(Font font,string txt)
{
Bitmap bmp = new Bitmap(1,1);
using(Graphics g = Graphics.FromImage(bmp))
{
SizeF size = g.MeasureString(font,txt);
return size;
}
}