Font 类

定义

定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。

public ref class Font sealed : MarshalByRefObject, ICloneable, IDisposable, System::Runtime::Serialization::ISerializable
public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")]
public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))]
public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))]
[System.Serializable]
public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Font : MarshalByRefObject, ICloneable, IDisposable, System.Runtime.Serialization.ISerializable
type Font = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
    interface ISerializable
[<System.ComponentModel.TypeConverter("System.Drawing.FontConverter, System.Windows.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51")>]
type Font = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
    interface ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))>]
type Font = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
    interface ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))>]
[<System.Serializable>]
type Font = class
    inherit MarshalByRefObject
    interface ICloneable
    interface IDisposable
    interface ISerializable
[<System.ComponentModel.TypeConverter(typeof(System.Drawing.FontConverter))>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Font = class
    inherit MarshalByRefObject
    interface ICloneable
    interface ISerializable
    interface IDisposable
Public NotInheritable Class Font
Inherits MarshalByRefObject
Implements ICloneable, IDisposable, ISerializable
继承
属性
实现

示例

下面的代码示例演示如何使用 Font 构造函数和 SizeSizeInPointsUnit 属性。 此示例旨在与 Windows 窗体一起使用,该窗体包含ComboBoxComboBox1由字符串“大于”和“Smaller”以及Label名为 Label1填充的名为 的 。 将以下代码粘贴到窗体中,并将 ComboBox1_SelectedIndexChanged 方法与 SelectedIndexChanged 控件的 ComboBox 事件相关联。

private:
    void ComboBox1_SelectedIndexChanged(System::Object^ sender,
        System::EventArgs^ e)
    {

        // Cast the sender object back to a ComboBox.
        ComboBox^ ComboBox1 = (ComboBox^) sender;

        // Retrieve the selected item.
        String^ selectedString = (String^) ComboBox1->SelectedItem;

        // Convert it to lowercase.
        selectedString = selectedString->ToLower();

        // Declare the current size.
        float currentSize;

        // If Bigger is selected, get the current size from the 
        // Size property and increase it. Reset the font to the
        //  new size, using the current unit.
        if (selectedString == "bigger")
        {
            currentSize = Label1->Font->Size;
            currentSize += 2.0F;
            Label1->Font =gcnew System::Drawing::Font(Label1->Font->Name, 
                currentSize, Label1->Font->Style, Label1->Font->Unit);

        }
        // If Smaller is selected, get the current size, in
        // points, and decrease it by 2.  Reset the font with
        // the new size in points.
        if (selectedString == "smaller")
        {
            currentSize = Label1->Font->Size;
            currentSize -= 2.0F;
            Label1->Font = gcnew System::Drawing::Font(Label1->Font->Name, 
                currentSize, Label1->Font->Style);

        }
    }
private void ComboBox1_SelectedIndexChanged(System.Object sender, 
    System.EventArgs e)
{

    // Cast the sender object back to a ComboBox.
    ComboBox ComboBox1 = (ComboBox) sender;

    // Retrieve the selected item.
    string selectedString = (string) ComboBox1.SelectedItem;

    // Convert it to lowercase.
    selectedString = selectedString.ToLower();

    // Declare the current size.
    float currentSize;

    // Switch on the selected item. 
    switch(selectedString)
    {

            // If Bigger is selected, get the current size from the 
            // Size property and increase it. Reset the font to the
            //  new size, using the current unit.
        case "bigger":
            currentSize = Label1.Font.Size;
            currentSize += 2.0F;
            Label1.Font = new Font(Label1.Font.Name, currentSize, 
                Label1.Font.Style, Label1.Font.Unit);

            // If Smaller is selected, get the current size, in points,
            // and decrease it by 1.  Reset the font with the new size
            // in points.
            break;
        case "smaller":
            currentSize = Label1.Font.SizeInPoints;
            currentSize -= 1;
            Label1.Font = new Font(Label1.Font.Name, currentSize, 
                Label1.Font.Style);
            break;
    }
}
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

    ' Cast the sender object back to a ComboBox.
    Dim ComboBox1 As ComboBox = CType(sender, ComboBox)

    ' Retrieve the selected item.
    Dim selectedString As String = CType(ComboBox1.SelectedItem, String)

    ' Convert it to lowercase.
    selectedString = selectedString.ToLower()

    ' Declare the current size.
    Dim currentSize As Single

    ' Switch on the selected item. 
    Select Case selectedString

        ' If Bigger is selected, get the current size from the 
        ' Size property and increase it. Reset the font to the
        '  new size, using the current unit.
    Case "bigger"
            currentSize = Label1.Font.Size
            currentSize += 2.0F
            Label1.Font = New Font(Label1.Font.Name, currentSize, _
                Label1.Font.Style, Label1.Font.Unit)

            ' If Smaller is selected, get the current size, in points,
            ' and decrease it by 1.  Reset the font with the new size
            ' in points.
        Case "smaller"
            currentSize = Label1.Font.SizeInPoints
            currentSize -= 1
            Label1.Font = New Font(Label1.Font.Name, currentSize, _
                Label1.Font.Style)
    End Select
End Sub

注解

有关如何构造字体的详细信息,请参阅 如何:构造字体系列和字体。 Windows 窗体应用程序支持 TrueType 字体,并且对 OpenType 字体的支持有限。 如果尝试使用不支持的字体,或者运行应用程序的计算机上未安装该字体,则将替换 Microsoft Sans Serif 字体。

备注

在 .NET 6 及更高版本中, System.Drawing.Common 包(包括此类型)仅在 Windows 操作系统上受支持。 在跨平台应用中使用此类型会导致编译时警告和运行时异常。 有关详细信息,请参阅 System.Drawing.Common 仅在 Windows 上受支持

构造函数

Font(Font, FontStyle)

初始化新 Font,它使用指定的现有 FontFontStyle 枚举。

Font(FontFamily, Single)

使用指定的大小初始化新 Font

Font(FontFamily, Single, FontStyle)

使用指定的大小和样式初始化新 Font

Font(FontFamily, Single, FontStyle, GraphicsUnit)

使用指定的大小、样式和单位初始化新的 Font

Font(FontFamily, Single, FontStyle, GraphicsUnit, Byte)

使用指定的大小、样式、单位和字符集初始化新的 Font

Font(FontFamily, Single, FontStyle, GraphicsUnit, Byte, Boolean)

使用指定的大小、样式、单位和字符集初始化新的 Font

Font(FontFamily, Single, GraphicsUnit)

使用指定的大小和单位初始化新的 Font。 将此样式设置为 Regular

Font(String, Single)

使用指定的大小初始化新 Font

Font(String, Single, FontStyle)

使用指定的大小和样式初始化新 Font

Font(String, Single, FontStyle, GraphicsUnit)

使用指定的大小、样式和单位初始化新的 Font

Font(String, Single, FontStyle, GraphicsUnit, Byte)

使用指定的大小、样式、单位和字符集初始化新的 Font

Font(String, Single, FontStyle, GraphicsUnit, Byte, Boolean)

使用指定的大小、样式、单位和字符集初始化新 Font

Font(String, Single, GraphicsUnit)

使用指定的大小和单位初始化新的 Font。 样式设置为 Regular

属性

Bold

获取一个值,该值指示此 Font 是否为粗体。

FontFamily

获取与此 FontFamily 关联的 Font

GdiCharSet

获取一个字节值,该值指定此 Font 使用的 GDI 字符集。

GdiVerticalFont

获取一个布尔值,该值指示此 Font 是否从 GDI 垂直字体派生。

Height

获取此字体的行距。

IsSystemFont

获取一个值,该值表示此字体是否是 SystemFonts 的一个成员。

Italic

获取一个值,该值指示此字体是否已应用斜体样式。

Name

获取此 Font 的字体名称。

OriginalFontName

获取最初指定的字体的名称。

Size

获取此 Font 的全身大小,单位采用 Unit 属性指定的单位。

SizeInPoints

获取此 Font 的全身大小(以点为单位)。

Strikeout

获取一个值,该值指示此 Font 是否指定贯穿字体的横线。

Style

获取此 Font 的样式信息。

SystemFontName

如果 IsSystemFont 属性返回 true,则获取系统字体的名称。

Underline

获取一个值,该值指示此 Font 是否有下划线。

Unit

获取此 Font 的度量单位。

方法

Clone()

创建此 Font 的一个精确副本。

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

释放此 Font 使用的所有资源。

Equals(Object)

指示指定对象是否为 Font,以及是否具有与此 FontFamily 相同的 GdiVerticalFontGdiCharSetStyleSizeUnitFont 属性值。

Finalize()

在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。

FromHdc(IntPtr)

从设备上下文的指定 Windows 句柄创建 Font

FromHfont(IntPtr)

从指定的 Windows 句柄创建一个 Font

FromLogFont(LOGFONT)

定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。

FromLogFont(LOGFONT, IntPtr)

定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。

FromLogFont(Object)

Font从指定的 GDI 逻辑字体 (LOGFONT) 结构创建 。

FromLogFont(Object, IntPtr)

Font从指定的 GDI 逻辑字体 (LOGFONT) 结构创建 。

GetHashCode()

获取此 Font 的哈希代码。

GetHeight()

返回此字体的行距(以像素为单位)。

GetHeight(Graphics)

采用指定的 Graphics 的当前单位,返回此字体的行距。

GetHeight(Single)

当用指定的垂直分辨率绘制到设备时,返回此 Font 的高度(以像素为单位)。

GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
ToHfont()

返回此 Font 的句柄。

ToLogFont(LOGFONT)

定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。

ToLogFont(LOGFONT, Graphics)

定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。

ToLogFont(Object)

从此 Font创建 GDI 逻辑字体 (LOGFONT) 结构。

ToLogFont(Object, Graphics)

从此 Font创建 GDI 逻辑字体 (LOGFONT) 结构。

ToString()

返回此 Font 可读的字符串表示形式。

显式接口实现

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

使用将目标对象序列化所需的数据填充 SerializationInfo

适用于

另请参阅