如何改变字体大小呢?
上面写了如何改变字体风格,下面再写一下如何改变字体大小?观察字体类时,你会发现它所提供的公共属性都是只读的.这就意味着改变一个字体大小,你需要创建一个新的并且带有和先前的字体有完全相同的属性除了字体大小的对象.这里恰好有这么一个方便的方法:
static public Font ChangeFontSize( Font font, float fontSize )
{
if (font != null)
{
float currentSize = font.Size;
if (currentSize != fontSize)
{
font = new Font( font.Name, fontSize,
font.Style, font.Unit,
font.GdiCharSet, font.GdiVerticalFont );
}
}
return font;
}
举个例子,把一个标签字体放大2倍:{
if (font != null)
{
float currentSize = font.Size;
if (currentSize != fontSize)
{
font = new Font( font.Name, fontSize,
font.Style, font.Unit,
font.GdiCharSet, font.GdiVerticalFont );
}
}
return font;
}
label.Font = ChangeFontSize( label.Font, label.Font.Size * 2 );
图形单位
注意以上的方法都使用了相同的图形单位(点,像素,毫米,等等),对于一个字体,你或许想"重载"这个方法而使用特定的单位:
static public Font ChangeFontSize( Font font, float fontSize, GraphicsUnit unit )
{
if (font != null)
{
float currentSize = font.Size;
if (currentSize != fontSize)
{
font = new Font( font.Name, fontSize,
font.Style, unit,
font.GdiCharSet, font.GdiVerticalFont );
}
}
return font;
}
举个例子,把一个标签的字体设置为12像素:{
if (font != null)
{
float currentSize = font.Size;
if (currentSize != fontSize)
{
font = new Font( font.Name, fontSize,
font.Style, unit,
font.GdiCharSet, font.GdiVerticalFont );
}
}
return font;
}
label.Font = ChangeFontSize( label.Font, 12.0F, GraphicsUnit.Pixel );