Get all system installed font

using System;
using System.Drawing;
using System.Drawing.Text;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class Test{
static void Main()
{
InstalledFontCollection fonts = new InstalledFontCollection();
for(int i = 0; i < fonts.Families.Length; i++) { Console.WriteLine(fonts.Families[i].Name); } } } [/csharp]

Focus Form


   

/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, 
   Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information
ISBN: 1861007663
*/

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Wrox.ProgrammingWindowsGUI.Chapter5
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class FocusForm : System.Windows.Forms.Form
    {
        private System.Windows.Forms.TextBox txtFocusForm;
        private System.Windows.Forms.Button btFocusForm;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;


        public FocusForm()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.txtFocusForm = new System.Windows.Forms.TextBox();
            this.btFocusForm = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // txtFocusForm
            // 
            this.txtFocusForm.Location = new System.Drawing.Point(8, 8);
            this.txtFocusForm.Name = "txtFocusForm";
            this.txtFocusForm.Size = new System.Drawing.Size(336, 20);
            this.txtFocusForm.TabIndex = 0;
            this.txtFocusForm.Text = "";
            this.txtFocusForm.LostFocus += new System.EventHandler(this.txtFocusForm_LostFocus);
            this.txtFocusForm.GotFocus += new System.EventHandler(this.txtFocusForm_GotFocus);
            // 
            // btFocusForm
            // 
            this.btFocusForm.Location = new System.Drawing.Point(8, 40);
            this.btFocusForm.Name = "btFocusForm";
            this.btFocusForm.Size = new System.Drawing.Size(336, 23);
            this.btFocusForm.TabIndex = 1;
            this.btFocusForm.Text = "This button does nothing";
            this.btFocusForm.Click += new System.EventHandler(this.btFocusForm_Click);
            // 
            // FocusForm
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(352, 70);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.btFocusForm,
                                                                          this.txtFocusForm});
            this.MaximizeBox = false;
            this.Name = "FocusForm";
            this.Text = "FocusForm";
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new FocusForm());
        }

        protected void txtFocusForm_LostFocus(object sender, EventArgs e)
        {
            // MessageBox.Show("Goodbye!");
        }

        protected void txtFocusForm_GotFocus(object sender, EventArgs e)
        {
            // MessageBox.Show("Hello!");
        }

        private void btFocusForm_Click(object sender, System.EventArgs e)
        {
            bool canFocus = txtFocusForm.CanFocus;
            bool containsFocus = this.ContainsFocus;
            bool focused = txtFocusForm.Focused;

            MessageBox.Show("Textbox can focus: " + canFocus +
                         "
Form children contain focus: " + containsFocus +
                         "
Textbox has focus: " + focused);

            txtFocusForm.Focus();
        }

        
    }
}

           
          


Get the font in a FontDialog

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


public class MainClass {
    private FontDialog fontDlg = new FontDialog();
    private Font currFont = new Font("Times New Roman", 12);

    public static void Main() {
        FontDialog fontDlg = new FontDialog();
        if (fontDlg.ShowDialog() != DialogResult.Cancel) {
            Console.WriteLine(fontDlg.Font);
        }
    }
}

    


Color Dialog and Font Dialog


   

/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, 
   Zach Greenvoss, Shripad Kulkarni, Neil Whitlow

Publisher: Peer Information
ISBN: 1861007663
*/

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace ColorFontDialog
{
    /// <summary>
    /// Summary description for ColorFontDialog.
    /// </summary>
    public class ColorFontDialog : System.Windows.Forms.Form
    {
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Label label1;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public ColorFontDialog()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            this.Text = "Font and Color Dialogs";
            this.button1.Text = "&amp;Font";
            this.button2.Text = "&amp;Color";
            this.label1.Text = "Change my FONT and COLOR!";

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.label1 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(24, 8);
            this.button1.Name = "button1";
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.Click += new System.EventHandler(this.button1_Click_1);
            // 
            // button2
            // 
            this.button2.Location = new System.Drawing.Point(120, 8);
            this.button2.Name = "button2";
            this.button2.TabIndex = 1;
            this.button2.Text = "button2";
            this.button2.Click += new System.EventHandler(this.button2_Click);
            // 
            // label1
            // 
            this.label1.Location = new System.Drawing.Point(8, 48);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(280, 48);
            this.label1.TabIndex = 2;
            this.label1.Text = "label1";
            // 
            // ColorFontDialog
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(292, 101);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.label1,
                                                                          this.button2,
                                                                          this.button1});
            this.Name = "ColorFontDialog";
            this.Text = "ColorFontDialog";
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new ColorFontDialog());
        }
        private void button2_Click(object sender, System.EventArgs e)
        {
            ColorDialog cd = new ColorDialog();
            cd.AllowFullOpen = true;   // allow custom colors
            //cd.FullOpen = true;   // shows custom colors automatically
            cd.Color = Color.DarkBlue;  // sets the custom color
            //cd.Color = Color.Blue;   // set the basic color

            if(cd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                this.label1.ForeColor = cd.Color;
        }
        private void button1_Click_1(object sender, System.EventArgs e)
        {
            FontDialog fd = new FontDialog();
            fd.ShowColor = true;
            fd.Color = Color.Blue;
            fd.ShowApply = true;   // ColorDialog does not provide this option!!!
            fd.Apply += new EventHandler(ApplyFont);
            if(fd.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)
                ChangeFont(fd);
        }

        private void ApplyFont(object o, EventArgs ea)
        {
            ChangeFont((FontDialog)o);
        }

        private void ChangeFont(FontDialog fd)
        {
            this.label1.Font = fd.Font;
            this.label1.ForeColor = fd.Color;
        }
    }
}

           
          


All font properties

   
 

using System;
using System.Drawing;
using System.Windows.Forms;
   
class AllAboutFont: Form
{
     public static void Main()
     {
          Application.Run(new AllAboutFont());
     }
     public AllAboutFont()
     {
          ResizeRedraw = true; 
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }     
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          grfx.DrawString(
                    "Name: "               + Font.Name            + "
" +
                    "FontFamily: "         + Font.FontFamily      + "
" +
                    "FontStyle: "          + Font.Style           + "
" +
                    "Bold: "               + Font.Bold            + "
" +
                    "Italic: "             + Font.Italic          + "
" +
                    "Underline: "          + Font.Underline       + "
" +
                    "Strikeout: "          + Font.Strikeout       + "
" +
                    "Size: "               + Font.Size            + "
" +
                    "GraphicsUnit: "       + Font.Unit            + "
" +
                    "SizeInPoints: "       + Font.SizeInPoints    + "
" +
                    "Height: "             + Font.Height          + "
" +
                    "GdiCharSet: "         + Font.GdiCharSet      + "
" +
                    "GdiVerticalFont : "   + Font.GdiVerticalFont + "
" +
                    "GetHeight(): "        + Font.GetHeight()     + "
" +
                    "GetHeight(grfx): "    + Font.GetHeight(grfx) + "
" +
                    "GetHeight(100 DPI): " + Font.GetHeight(100),
                    Font, new SolidBrush(clr), Point.Empty);
     }
}

    


new Font(“Times New Roman”, 10, FontStyle.Italic)

   
 



using System;
using System.Drawing;
using System.Windows.Forms;
   
class HowdyWorld: Form
{
     public static void Main()
     {
          Application.Run(new HowdyWorld());
     }
     public HowdyWorld()
     {
          ResizeRedraw = true; 
          MinimumSize = SystemInformation.MinimumWindowSize + new Size(0,1);
          
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }     
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          Font  font   = new Font("Times New Roman", 10, FontStyle.Italic);
          SizeF sizef  = grfx.MeasureString(Text, font);
          float fScale = Math.Min(cx / sizef.Width, cy / sizef.Height);
   
          grfx.DrawString(Text, font, new SolidBrush(clr), 
                          (cx  - sizef.Width ) / 2, (cy - sizef.Height) / 2);
     }
}

    


new Font(strFont, fSize)

using System;
using System.Drawing;
using System.Windows.Forms;

class FontSizes: Form
{
public static void Main()
{
Application.Run(new FontSizes());
}
public FontSizes()
{
Text = “Font Sizes”;
ResizeRedraw = true;
}
protected override void OnPaint(PaintEventArgs pea)
{
DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
}

protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
{
string strFont = “Times New Roman”;
Brush brush = new SolidBrush(clr);
float y = 0;

for (float fSize = 6; fSize <= 12; fSize += 0.25f) { Font font = new Font(strFont, fSize); grfx.DrawString(strFont + " in " + fSize + " points", font, brush, 0, y); } } } [/csharp]