Mega Code Archive

 
Categories / C# / 2D Graphics
 

Font Viewer

/* User Interfaces in C#: Windows Forms and Custom Controls by Matthew MacDonald Publisher: Apress ISBN: 1590590457 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using Microsoft.Win32; namespace FontViewer {     /// <summary>     /// Summary description for Form1.     /// </summary>     public class FontViewer : System.Windows.Forms.Form     {         private System.Windows.Forms.GroupBox groupBox1;         private System.Windows.Forms.Label label1;         private System.Windows.Forms.ComboBox lstFonts;         private System.Windows.Forms.StatusBar statusBar;         private System.Windows.Forms.StatusBarPanel panel;         /// <summary>         /// Required designer variable.         /// </summary>         private System.ComponentModel.Container components = null;         public FontViewer()         {             //             // 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()         { //          System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FontViewer));             this.groupBox1 = new System.Windows.Forms.GroupBox();             this.label1 = new System.Windows.Forms.Label();             this.lstFonts = new System.Windows.Forms.ComboBox();             this.statusBar = new System.Windows.Forms.StatusBar();             this.panel = new System.Windows.Forms.StatusBarPanel();             this.groupBox1.SuspendLayout();             ((System.ComponentModel.ISupportInitialize)(this.panel)).BeginInit();             this.SuspendLayout();             //              // groupBox1             //              this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)                  | System.Windows.Forms.AnchorStyles.Right);             this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {                                                                                     this.lstFonts,                                                                                     this.label1});             this.groupBox1.Location = new System.Drawing.Point(0, -4);             this.groupBox1.Name = "groupBox1";             this.groupBox1.Size = new System.Drawing.Size(632, 40);             this.groupBox1.TabIndex = 0;             this.groupBox1.TabStop = false;             //              // label1             //              this.label1.Location = new System.Drawing.Point(12, 16);             this.label1.Name = "label1";             this.label1.Size = new System.Drawing.Size(80, 12);             this.label1.TabIndex = 0;             this.label1.Text = "Choose Font:";             //              // lstFonts             //              this.lstFonts.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;             this.lstFonts.DropDownWidth = 340;             this.lstFonts.Location = new System.Drawing.Point(100, 12);             this.lstFonts.Name = "lstFonts";             this.lstFonts.Size = new System.Drawing.Size(340, 21);             this.lstFonts.TabIndex = 1;             this.lstFonts.SelectedIndexChanged += new System.EventHandler(this.lstFonts_SelectedIndexChanged);             //              // statusBar             //              this.statusBar.Location = new System.Drawing.Point(0, 165);             this.statusBar.Name = "statusBar";             this.statusBar.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {                                                                                          this.panel});             this.statusBar.ShowPanels = true;             this.statusBar.Size = new System.Drawing.Size(632, 20);             this.statusBar.TabIndex = 1;             //              // panel             //              this.panel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;             this.panel.Width = 616;             //              // FontViewer             //              this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);             this.ClientSize = new System.Drawing.Size(632, 185);             this.Controls.AddRange(new System.Windows.Forms.Control[] {                                                                           this.statusBar,                                                                           this.groupBox1});             this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); //          this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));             this.Name = "FontViewer";             this.Text = "FontViewer";             this.Load += new System.EventHandler(this.FontViewer_Load);             this.Paint += new System.Windows.Forms.PaintEventHandler(this.FontViewer_Paint);             this.groupBox1.ResumeLayout(false);             ((System.ComponentModel.ISupportInitialize)(this.panel)).EndInit();             this.ResumeLayout(false);         }         #endregion         /// <summary>         /// The FontViewer entry point for the application.         /// </summary>         [STAThread]         static void Main()          {             Application.Run(new FontViewer());         }         private void FontViewer_Load(object sender, System.EventArgs e)         {             System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();             foreach (FontFamily family in fonts.Families)             {                 lstFonts.Items.Add(family.Name);             }             RegistryKey rk;             rk = Registry.LocalMachine.OpenSubKey("Software\\ProseTech\\FontViewer");             if (rk != null) this.Text += " - " + rk.GetValue("Customer");         }         private void FontViewer_Paint(object sender, System.Windows.Forms.PaintEventArgs e)         {             if (lstFonts.Text != "")              {                 try                 {                     e.Graphics.DrawString(lstFonts.Text, new Font(lstFonts.Text, 50), Brushes.Black, 10, 50);                     statusBar.Panels[0].Text = "";                                                                                                                          }                 catch (Exception err)                 {                     statusBar.Panels[0].Text = err.Message;                 }             }         }         private void lstFonts_SelectedIndexChanged(object sender, System.EventArgs e)         {             if (lstFonts.Text != "") this.Invalidate();         }     } }