using System;
using System.Windows.Forms;
using System.ComponentModel;
public class MainWindow : Form {
private string lifeTimeInfo;
public MainWindow() {
this.Closing += new CancelEventHandler(MainForm_Closing);
this.Load += new EventHandler(MainForm_Load);
this.Closed += new EventHandler(MainForm_Closed);
this.Activated += new EventHandler(MainForm_Activated);
this.Deactivate += new EventHandler(MainForm_Deactivate);
}
protected void MainForm_Closing(object sender, CancelEventArgs e) {
DialogResult dr = MessageBox.Show("Do you REALLY want to close this app?",
"Closing event!", MessageBoxButtons.YesNo);
if (dr == DialogResult.No)
e.Cancel = true;
else
e.Cancel = false;
}
protected void MainForm_Load(object sender, System.EventArgs e) {
lifeTimeInfo += "Load event
";
}
protected void MainForm_Activated(object sender, System.EventArgs e) {
lifeTimeInfo += "Activate event
";
}
protected void MainForm_Deactivate(object sender, System.EventArgs e) {
lifeTimeInfo += "Deactivate event
";
}
protected void MainForm_Closed(object sender, System.EventArgs e) {
lifeTimeInfo += "Closed event
";
MessageBox.Show(lifeTimeInfo);
}
public static void Main(string[] args) {
Application.Run(new MainWindow());
}
}
Month: February 2011
Font: GetHeight
using System;
using System.Drawing;
using System.Windows.Forms;
class FontMenuForm: Form
{
protected string strText = "Sample Text";
protected Font font = new Font("Times New Roman", 24, FontStyle.Italic);
public static void Main()
{
Application.Run(new FontMenuForm());
}
public FontMenuForm()
{
ResizeRedraw = true;
Menu = new MainMenu();
Menu.MenuItems.Add("&Font!", new EventHandler(MenuFontOnClick));
}
void MenuFontOnClick(object obj, EventArgs ea)
{
FontDialog dlg = new FontDialog();
dlg.Font = font;
if (dlg.ShowDialog() == DialogResult.OK)
{
font = dlg.Font;
Invalidate();
}
}
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)
{
SizeF sizef = grfx.MeasureString(strText, font);
Brush brush = new SolidBrush(clr);
grfx.DrawString(strText, font, brush, (cx - sizef.Width) / 2,
(cy - sizef.Height) / 2);
}
public float GetAscent(Graphics grfx, Font font)
{
return font.GetHeight(grfx) *
font.FontFamily.GetCellAscent(font.Style) /
font.FontFamily.GetLineSpacing(font.Style);
}
public float GetDescent(Graphics grfx, Font font)
{
return font.GetHeight(grfx) *
font.FontFamily.GetCellDescent(font.Style) /
font.FontFamily.GetLineSpacing(font.Style);
}
public float PointsToPageUnits(Graphics grfx, Font font)
{
float fFontSize;
if (grfx.PageUnit == GraphicsUnit.Display)
fFontSize = 100 * font.SizeInPoints / 72;
else
fFontSize = grfx.DpiX * font.SizeInPoints / 72;
return fFontSize;
}
}
System Fonts: Icon Title Font
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
public class Form1 : Form
{
private System.Windows.Forms.Label label2;
public Form1() {
this.Font = SystemFonts.IconTitleFont;
this.AutoScaleDimensions = new System.Drawing.SizeF(6.0F, 13.0F);
InitializeComponent();
SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
}
private void SystemEvents_UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
{
if (e.Category == UserPreferenceCategory.Window)
{
this.Font = SystemFonts.IconTitleFont;
}
}
private void InitializeComponent()
{
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(220, 55);
this.label2.TabIndex = 2;
this.label2.Text = "Try changing the Small Fonts/Large Fonts setting for th" +
"e computer.";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(244, 138);
this.Controls.Add(this.label2);
this.Text = "Form1";
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
Load all system installed fonts
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form
{
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.ComboBox lstFonts;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.StatusStrip statusBar;
private System.Windows.Forms.ToolStripStatusLabel statusLabel;
public Form1() {
InitializeComponent();
System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection();
foreach (FontFamily family in fonts.Families)
{
lstFonts.Items.Add(family.Name);
}
}
private void lstFonts_SelectedIndexChanged(object sender, EventArgs e)
{
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (lstFonts.SelectedIndex != -1)
{
e.Graphics.DrawString(lstFonts.Text, new Font(lstFonts.Text, 50), Brushes.Black, 10, 50);
statusBar.Items[0].Text = lstFonts.Text;
}
}
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.lstFonts = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.statusBar = new System.Windows.Forms.StatusStrip();
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.groupBox1.SuspendLayout();
this.statusBar.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.lstFonts);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Location = new System.Drawing.Point(7, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(497, 40);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
//
// lstFonts
//
this.lstFonts.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.lstFonts.DropDownWidth = 340;
this.lstFonts.FormattingEnabled = true;
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);
//
// 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:";
//
// statusBar
//
this.statusBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.statusLabel});
this.statusBar.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.Table;
this.statusBar.Location = new System.Drawing.Point(0, 155);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(516, 22);
this.statusBar.TabIndex = 2;
this.statusBar.Text = "statusStrip1";
//
// statusLabel
//
this.statusLabel.Name = "statusLabel";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(516, 177);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.statusBar);
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Text = "Font Viewer";
this.groupBox1.ResumeLayout(false);
this.statusBar.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}
Timer based animation for 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 FontForm : System.Windows.Forms.Form
{
private Timer timer;
private int swellValue;
private string fontFace = "WingDings";
public FontForm()
{
InitializeComponent();
timer = new Timer();
Text = "Font App";
Width = 425;
Height = 150;
BackColor = Color.Honeydew;
CenterToScreen();
timer.Enabled = true;
timer.Interval = 100;
timer.Tick += new EventHandler(FontForm_OnTimer);
}
private void InitializeComponent()
{
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 253);
this.Text = "Form1";
this.Resize += new System.EventHandler(this.FontForm_Resize);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.FontForm_Paint);
}
static void Main()
{
Application.Run(new FontForm());
}
private void FontForm_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
Font theFont = new Font(fontFace, 12 + swellValue);
string message = "www.kutayzorlu.com/java2s/com";
float windowCenter = this.DisplayRectangle.Width / 2;
SizeF stringSize = e.Graphics.MeasureString(message, theFont);
float startPos = windowCenter - (stringSize.Width / 2);
g.DrawString(message, theFont,
new SolidBrush(Color.Blue), startPos, 10);
}
private void FontForm_Resize(object sender, System.EventArgs e)
{
Rectangle myRect = new Rectangle(0, 100,
ClientRectangle.Width, ClientRectangle.Height);
Invalidate(myRect);
}
private void FontForm_OnTimer(object sender, EventArgs e)
{
swellValue += 5;
if(swellValue >= 50)
swellValue = 0;
Invalidate(new Rectangle(0, 0, ClientRectangle.Width, 100));
}
}
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();
}
}
}

