C#中的字体和字体系列

来源:百度文库 编辑:神马文学网 时间:2024/07/08 20:01:07
2009-05-22 16:17
1.字体系列:System.Drawing.FontFamily,指文本的可视化风格,如“宋体”等;
2.字体:System.Drawing.Font,包含了字体系列、文本大小、文本样式等信息。
实例:打印系统上安装的字体
TestFonts:
Form1.cs:
view plaincopy to clipboardprint?
using System;    using System.Collections.Generic;    using System.ComponentModel;    using System.Data;    using System.Drawing;    using System.Text;    using System.Windows.Forms;    using System.Drawing.Text;       namespace TestFonts    {        public partial class Form1 : Form         {            //文本间距            private const int margin = 10;               public Form1()             {                 InitializeComponent();                this.AutoScrollMinSize = new Size(200, 3000);                this.BackColor = Color.White;             }               protected override void OnPaint(PaintEventArgs e)             {                base.OnPaint(e);                 Graphics dc = e.Graphics;                   int verticalCoordinate = margin;                 Point topLeftCorner;                //取得系统上安装的所有字体                 InstalledFontCollection insFont = new InstalledFontCollection();                 FontFamily[] families = insFont.Families;                 dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);                   //遍历字体系列                foreach (FontFamily family in families)                 {                    //只显示支持普通文本风格的字体系列                    if (family.IsStyleAvailable(FontStyle.Regular))                     {                         Font f = new Font(family.Name, 10);                         topLeftCorner = new Point(margin, verticalCoordinate);                        //换行                         verticalCoordinate += f.Height;                         dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner);                         f.Dispose();                     }                 }             }         }    }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Text; namespace TestFonts {      public partial class Form1 : Form      {          //文本间距          private const int margin = 10;          public Form1()          {              InitializeComponent();              this.AutoScrollMinSize = new Size(200, 3000);              this.BackColor = Color.White;          }          protected override void OnPaint(PaintEventArgs e)          {              base.OnPaint(e);              Graphics dc = e.Graphics;              int verticalCoordinate = margin;              Point topLeftCorner;              //取得系统上安装的所有字体              InstalledFontCollection insFont = new InstalledFontCollection();              FontFamily[] families = insFont.Families;              dc.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);              //遍历字体系列              foreach (FontFamily family in families)              {                  //只显示支持普通文本风格的字体系列                  if (family.IsStyleAvailable(FontStyle.Regular))                  {                      Font f = new Font(family.Name, 10);                      topLeftCorner = new Point(margin, verticalCoordinate);                      //换行                      verticalCoordinate += f.Height;                      dc.DrawString(family.Name, f, Brushes.Black, topLeftCorner);                      f.Dispose();                  }              }          }      } }