FontConverter 类
将 Font 对象从一种数据类型转换成另一种数据类型。
**命名空间:**System.Drawing
**程序集:**System.Drawing(在 system.drawing.dll 中)
语法
声明
Public Class FontConverter
Inherits TypeConverter
用法
Dim instance As FontConverter
public class FontConverter : TypeConverter
public ref class FontConverter : public TypeConverter
public class FontConverter extends TypeConverter
public class FontConverter extends TypeConverter
备注
通过 TypeDescriptor 对象访问 FontConverter 类。
示例
下面的代码示例演示如何使用 FontConverter 将 Font 转换为字符串以及如何进行反向转换。此示例是针对使用 Windows 窗体而设计的。将此代码粘贴到一个窗体中,然后在处理窗体的 Paint 事件时调用 ShowFontStringConversion
方法,并将 e 作为 PaintEventArgs 传递。
Private Sub ShowFontStringConversion(ByVal e As PaintEventArgs)
' Create the FontConverter.
Dim converter As System.ComponentModel.TypeConverter = _
System.ComponentModel.TypeDescriptor.GetConverter(GetType(Font))
Dim font1 As Font = _
CType(converter.ConvertFromString("Arial, 12pt"), Font)
Dim fontName1 As String = _
converter.ConvertToInvariantString(font1)
Dim fontName2 As String = converter.ConvertToString(font1)
e.Graphics.DrawString(fontName1, font1, Brushes.Red, 10, 10)
e.Graphics.DrawString(fontName2, font1, Brushes.Blue, 10, 30)
End Sub
private void ShowFontStringConversion(PaintEventArgs e)
{
// Create the FontConverter.
System.ComponentModel.TypeConverter converter =
System.ComponentModel.TypeDescriptor.GetConverter(typeof(Font));
Font font1 = (Font) converter.ConvertFromString("Arial, 12pt");
string fontName1 = converter.ConvertToInvariantString(font1);
string fontName2 = converter.ConvertToString(font1);
e.Graphics.DrawString(fontName1, font1, Brushes.Red, 10, 10);
e.Graphics.DrawString(fontName2, font1, Brushes.Blue, 10, 30);
}
void ShowFontStringConversion( PaintEventArgs^ e )
{
// Create the FontConverter.
System::ComponentModel::TypeConverter^ converter =
System::ComponentModel::TypeDescriptor::GetConverter( System::Drawing::Font::typeid );
System::Drawing::Font^ font1 = dynamic_cast<System::Drawing::Font^>(converter->ConvertFromString( "Arial, 12pt" ));
String^ fontName1 = converter->ConvertToInvariantString( font1 );
String^ fontName2 = converter->ConvertToString( font1 );
e->Graphics->DrawString( fontName1, font1, Brushes::Red, 10, 10 );
e->Graphics->DrawString( fontName2, font1, Brushes::Blue, 10, 30 );
}
private void ShowFontStringConversion(PaintEventArgs e)
{
// Create the FontConverter.
System.ComponentModel.TypeConverter converter =
System.ComponentModel.TypeDescriptor.GetConverter(
get_Font().GetType());
Font font1 = (Font)(converter.ConvertFromString("Arial, 12pt"));
String fontName1 = converter.ConvertToInvariantString(font1);
String fontName2 = converter.ConvertToString(font1);
e.get_Graphics().DrawString(fontName1, font1, Brushes.get_Red(), 10,
10);
e.get_Graphics().DrawString(fontName2, font1, Brushes.get_Blue(), 10,
30);
} //ShowFontStringConversion
继承层次结构
System.Object
System.ComponentModel.TypeConverter
System.Drawing.FontConverter
线程安全
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台
Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0