CheckButton on a Form


   

/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace CheckButton
{
  /// <summary>
  /// Summary description for FormCheckButton.
  /// </summary>
  public class FormCheckButton : System.Windows.Forms.Form
  {
    private System.Windows.Forms.CheckBox checkBox1;
    private System.Windows.Forms.Button button1;
    private System.ComponentModel.IContainer components;

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

      //
      // TODO: Add any constructor code after InitializeComponent call
      //
      checkBox1.Appearance = Appearance.Button;
      checkBox1.FlatStyle = FlatStyle.System;
      checkBox1.TextAlign = ContentAlignment.MiddleCenter;
    }

    /// <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.checkBox1 = new System.Windows.Forms.CheckBox();
      this.SuspendLayout();
      // 
      // button1
      // 
      this.button1.Location = new System.Drawing.Point(72, 40);
      this.button1.Name = "button1";
      this.button1.Size = new System.Drawing.Size(104, 32);
      this.button1.TabIndex = 1;
      this.button1.Text = "button1";
      // 
      // checkBox1
      // 
      this.checkBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
      this.checkBox1.Location = new System.Drawing.Point(72, 88);
      this.checkBox1.Name = "checkBox1";
      this.checkBox1.Size = new System.Drawing.Size(104, 32);
      this.checkBox1.TabIndex = 0;
      this.checkBox1.Text = "checkBox1";
      // 
      // FormCheckButton
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(292, 141);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.button1,
                                      this.checkBox1});
      this.Name = "FormCheckButton";
      this.Text = "FormCheckButton";
      this.ResumeLayout(false);

    }
    #endregion

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



           
          


CheckedChanged Event

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

class RadioButtons: Form
{
bool bFillEllipse;
Color colorEllipse;

static void Main()
{
Application.Run(new RadioButtons());
}
RadioButtons()
{
ResizeRedraw = true;
string[] astrColor = { “Black”, “Blue”, “Green”, “Cyan”};

GroupBox grpbox = new GroupBox();
grpbox.Parent = this;
grpbox.Text = “Color”;
grpbox.Location = new Point(Font.Height / 2, Font.Height / 2);
grpbox.Size = new Size(9 * Font.Height, (3 * astrColor.Length + 4) * Font.Height / 2);

for (int i = 0; i < astrColor.Length; i++) { RadioButton radiobtn = new RadioButton(); radiobtn.Parent = grpbox; radiobtn.Text = astrColor[i]; radiobtn.Location = new Point(Font.Height,3 * (i + 1) * Font.Height / 2); radiobtn.Size = new Size(7 * Font.Height,3 * Font.Height / 2); radiobtn.CheckedChanged += new EventHandler(RadioButtonOnCheckedChanged); radiobtn.Checked = true; } CheckBox chkbox = new CheckBox(); chkbox.Parent = this; chkbox.Text = "Fill Ellipse"; chkbox.Location = new Point(Font.Height, 3 * (astrColor.Length + 2) * Font.Height / 2); chkbox.Size = new Size(Font.Height * 7, 3 * Font.Height / 2); chkbox.CheckedChanged += new EventHandler(CheckBoxOnCheckedChanged); } void RadioButtonOnCheckedChanged(object obj, EventArgs ea) { RadioButton radiobtn = (RadioButton) obj; if(radiobtn.Checked) { colorEllipse = Color.FromName(radiobtn.Text); Invalidate(false); } } void CheckBoxOnCheckedChanged(object obj, EventArgs ea) { bFillEllipse = ((CheckBox)obj).Checked; Invalidate(false); } protected override void OnPaint(PaintEventArgs pea) { Graphics grfx = pea.Graphics; Rectangle rect = new Rectangle(10 * Font.Height, 0, ClientSize.Width - 10 * Font.Height - 1, ClientSize.Height - 1); if(bFillEllipse) grfx.FillEllipse(new SolidBrush(colorEllipse), rect); else grfx.DrawEllipse(new Pen(colorEllipse), rect); } } [/csharp]

Is CheckBox checked


   

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

public class Form1 : System.Windows.Forms.Form {
    private System.Windows.Forms.GroupBox groupBox1;
    private System.Windows.Forms.CheckBox checkBox1;
    private System.Windows.Forms.CheckBox checkBox2;
    private System.Windows.Forms.CheckBox checkBox3;
    private System.Windows.Forms.RadioButton radioButton1;
    private System.Windows.Forms.RadioButton radioButton2;
    private System.Windows.Forms.RadioButton radioButton3;
    private System.Windows.Forms.Button button1;

    private System.ComponentModel.Container components = null;

    public Form1() {
      InitializeComponent();
    }

    private void InitializeComponent() {
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.checkBox1 = new System.Windows.Forms.CheckBox();
            this.checkBox2 = new System.Windows.Forms.CheckBox();
            this.checkBox3 = new System.Windows.Forms.CheckBox();
            this.radioButton1 = new System.Windows.Forms.RadioButton();
            this.radioButton2 = new System.Windows.Forms.RadioButton();
            this.radioButton3 = new System.Windows.Forms.RadioButton();
            this.button1 = new System.Windows.Forms.Button();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                                    this.radioButton1,
                                                                                    this.radioButton2,
                                                                                    this.radioButton3});
            this.groupBox1.Location = new System.Drawing.Point(8, 120);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(120, 144);
            this.groupBox1.TabIndex = 0;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "Color";
            this.groupBox1.Enter += new System.EventHandler(this.groupBox1_Enter);
            // 
            // checkBox1
            // 
            this.checkBox1.Location = new System.Drawing.Point(8, 8);
            this.checkBox1.Name = "checkBox1";
            this.checkBox1.TabIndex = 1;
            this.checkBox1.Text = "Circle";
            // 
            // checkBox2
            // 
            this.checkBox2.Location = new System.Drawing.Point(8, 40);
            this.checkBox2.Name = "checkBox2";
            this.checkBox2.TabIndex = 2;
            this.checkBox2.Text = "Rectangle";
            // 
            // checkBox3
            // 
            this.checkBox3.Location = new System.Drawing.Point(8, 72);
            this.checkBox3.Name = "checkBox3";
            this.checkBox3.TabIndex = 3;
            this.checkBox3.Text = "String";
            // 
            // radioButton1
            // 
            this.radioButton1.Location = new System.Drawing.Point(8, 32);
            this.radioButton1.Name = "radioButton1";
            this.radioButton1.TabIndex = 4;
            this.radioButton1.Text = "Red";
            this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
            // 
            // radioButton2
            // 
            this.radioButton2.Location = new System.Drawing.Point(8, 64);
            this.radioButton2.Name = "radioButton2";
            this.radioButton2.TabIndex = 5;
            this.radioButton2.Text = "Green";
            // 
            // radioButton3
            // 
            this.radioButton3.Location = new System.Drawing.Point(8, 96);
            this.radioButton3.Name = "radioButton3";
            this.radioButton3.TabIndex = 6;
            this.radioButton3.Text = "Blue";
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(8, 280);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(112, 32);
            this.button1.TabIndex = 4;
            this.button1.Text = "Draw";
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // Form1
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(408, 317);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.button1,
                                                                          this.checkBox3,
                                                                          this.checkBox2,
                                                                          this.checkBox1,
                                                                          this.groupBox1});
            this.Name = "Form1";
            this.Text = "CheckBox and RadioButton Sample";
            this.groupBox1.ResumeLayout(false);
            this.ResumeLayout(false);

        }

        [STAThread]
        static void Main() 
        {
            Application.Run(new Form1());
        }

        private void groupBox1_Enter(object sender, System.EventArgs e)
        {
           Console.WriteLine("group box enter event");
        }

        private void radioButton1_CheckedChanged(object sender, System.EventArgs e)
        {
           Console.WriteLine("Radio Button checked changed event");
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            Graphics g = Graphics.FromHwnd(this.Handle);
            String str = "";
            Rectangle rc = new Rectangle(150, 50, 250, 250);
            
            if(radioButton1.Checked)
            {
                str = "red";
            }
            if(radioButton2.Checked)
            {
                str+="Green";
            }
            if(radioButton3.Checked)
            {
                str+="Blue";
            }

            if (checkBox1.Checked)
            {
                str+="Ellipse";
            }
            if (checkBox2.Checked)
            {
                str += "Rectangle";
            }
            if (checkBox3.Checked)
            {
                g.FillRectangle(new SolidBrush(Color.White), rc);
                g.DrawString(str, new Font("Verdana", 12), new SolidBrush(Color.Black), rc);
            }
            

        }
    }



           
          


CheckBox Image

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

public class Form1 : System.Windows.Forms.Form {
    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.GroupBox groupBox1;
    private System.Windows.Forms.CheckBox chk_option1;
    private System.Windows.Forms.CheckBox chk_option2;
    private System.Windows.Forms.CheckBox chk_option3;
    private System.Windows.Forms.CheckBox chk_option4;
    private System.Windows.Forms.Button button1;

    public Form1() {
        this.chk_option1 = new System.Windows.Forms.CheckBox();
        this.label1 = new System.Windows.Forms.Label();
        this.chk_option2 = new System.Windows.Forms.CheckBox();
        this.chk_option3 = new System.Windows.Forms.CheckBox();
        this.chk_option4 = new System.Windows.Forms.CheckBox();
        this.groupBox1 = new System.Windows.Forms.GroupBox();
        this.button1 = new System.Windows.Forms.Button();
        this.groupBox1.SuspendLayout();
        this.SuspendLayout();
        // 
        // chk_option1
        // 
        this.chk_option1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
        this.chk_option1.Location = new System.Drawing.Point(40, 24);
        this.chk_option1.Name = "chk_option1";
        this.chk_option1.Size = new System.Drawing.Size(192, 24);
        this.chk_option1.TabIndex = 0;
        this.chk_option1.Text = "Windows 2000 / Windows XP";
        this.chk_option1.ThreeState = true;
        // 
        // label1
        // 
        this.label1.Location = new System.Drawing.Point(16, 24);
        this.label1.Name = "label1";
        this.label1.Size = new System.Drawing.Size(296, 16);
        this.label1.TabIndex = 1;
        this.label1.Text = "The following products are developed by Microsoft Corp.";
        // 
        // chk_option2
        // 
        this.chk_option2.Location = new System.Drawing.Point(40, 56);
        this.chk_option2.Name = "chk_option2";
        this.chk_option2.Size = new System.Drawing.Size(192, 24);
        this.chk_option2.TabIndex = 0;
        this.chk_option2.Text = "JAVA";
        // 
        // chk_option3
        // 
        this.chk_option3.Appearance = System.Windows.Forms.Appearance.Button;
        this.chk_option3.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
        this.chk_option3.Location = new System.Drawing.Point(40, 88);
        this.chk_option3.Name = "chk_option3";
        this.chk_option3.Size = new System.Drawing.Size(192, 24);
        this.chk_option3.TabIndex = 0;
        this.chk_option3.Text = "Visual C# and .NET";
        // 
        // chk_option4
        // 
        this.chk_option4.Appearance = System.Windows.Forms.Appearance.Button;
        this.chk_option4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
        this.chk_option4.Location = new System.Drawing.Point(40, 120);
        this.chk_option4.Name = "chk_option4";
        this.chk_option4.Size = new System.Drawing.Size(192, 24);
        this.chk_option4.TabIndex = 0;
        this.chk_option4.Text = "Oracle Database";
        // 
        // groupBox1
        // 
        this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                          this.chk_option2,
                                          this.chk_option4,
                                          this.chk_option3,
                                          this.chk_option1});
        this.groupBox1.Location = new System.Drawing.Point(16, 56);
        this.groupBox1.Name = "groupBox1";
        this.groupBox1.Size = new System.Drawing.Size(280, 152);
        this.groupBox1.TabIndex = 2;
        this.groupBox1.TabStop = false;
        this.groupBox1.Text = "Select All Correct Options";
        // 
        // button1
        // 
        this.button1.Location = new System.Drawing.Point(16, 216);
        this.button1.Name = "button1";
        this.button1.TabIndex = 3;
        this.button1.Text = "Done ";
        this.button1.Click += new System.EventHandler(this.button1_Click);
        // 
        // Form1
        // 
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(328, 253);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.button1,
                                      this.groupBox1,
                                      this.label1});
        this.Name = "Form1";
        this.Text = "Check Boxes";
        this.Load += new System.EventHandler(this.Form1_Load);
        this.groupBox1.ResumeLayout(false);
        this.ResumeLayout(false);

    }


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

    private void Form1_Load(object sender, System.EventArgs e) {
        Image imga = Image.FromFile("A.ICO");
        chk_option3.Image = imga;
        chk_option3.ImageAlign = ContentAlignment.MiddleRight;
        chk_option3.BackColor = Color.LightBlue;
        imga = Image.FromFile("B.ICO");
        chk_option4.Image = imga;
        chk_option4.ImageAlign = ContentAlignment.MiddleCenter;
        chk_option4.BackColor = Color.LightBlue;
    }

    private void button1_Click(object sender, System.EventArgs e) {
        string str_opt_selected = "Options Selected are ..
";
        if (chk_option1.Checked)
            str_opt_selected = str_opt_selected + chk_option1.Text + "
";
        if (chk_option2.Checked)
            str_opt_selected = str_opt_selected + chk_option2.Text + "
";
        if (chk_option3.Checked)
            str_opt_selected = str_opt_selected + chk_option3.Text + "
";
        if (chk_option4.Checked)
            str_opt_selected = str_opt_selected + chk_option4.Text + "
";

        MessageBox.Show(str_opt_selected, "Checked Options");

    }
}

    


Subclass CheckBox

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

class CustomCheckBox: Form
{
public static void Main()
{
Application.Run(new CustomCheckBox());
}
public CustomCheckBox()
{
int cyText = Font.Height;
int cxText = cyText / 2;
FontStyle[] afs = { FontStyle.Bold, FontStyle.Italic,
FontStyle.Underline, FontStyle.Strikeout };

Label label = new Label();
label.Parent = this;
label.Text = “Sample Text”;
label.AutoSize = true;

for (int i = 0; i < 4; i++) { FontStyleCheckBox chkbox = new FontStyleCheckBox(); chkbox.Parent = this; chkbox.Text = afs[i].ToString(); chkbox.fontstyle = afs[i]; chkbox.Location = new Point(2 * cxText, (4 + 3 * i) * cyText / 2); chkbox.Size = new Size(12 * cxText, cyText); chkbox.CheckedChanged += new EventHandler(CheckBoxOnCheckedChanged); } } void CheckBoxOnCheckedChanged(object obj, EventArgs ea) { FontStyle fs = 0; Label label = null; for (int i = 0; i < Controls.Count; i++) { Control ctrl = Controls[i]; if (ctrl.GetType() == typeof(Label)) label = (Label) ctrl; else if (ctrl.GetType() == typeof(FontStyleCheckBox)) if (((FontStyleCheckBox) ctrl).Checked) fs |= ((FontStyleCheckBox) ctrl).fontstyle; } label.Font = new Font(label.Font, fs); } } class FontStyleCheckBox: CheckBox { public FontStyle fontstyle; } [/csharp]

Get selected checkbox list items

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

public class Form1 : System.Windows.Forms.Form {
private System.Windows.Forms.CheckedListBox chkListPossibleValues;
private System.Windows.Forms.ListBox lstSelected;
private System.Windows.Forms.Button btnMove;
private System.ComponentModel.Container components=null;

public Form1() {
InitializeComponent();
this.chkListPossibleValues.Items.Add(“Ten”);
}

private void InitializeComponent() {
this.lstSelected = new System.Windows.Forms.ListBox();
this.btnMove = new System.Windows.Forms.Button();
this.chkListPossibleValues = new System.Windows.Forms.CheckedListBox();
this.SuspendLayout();

this.lstSelected.Location = new System.Drawing.Point(232, 8);
this.lstSelected.Name = “lstSelected”;
this.lstSelected.Size = new System.Drawing.Size(136, 186);
this.lstSelected.TabIndex = 1;

this.btnMove.Location = new System.Drawing.Point(152, 80);
this.btnMove.Name = “btnMove”;
this.btnMove.TabIndex = 3;
this.btnMove.Text = “Move”;
this.btnMove.Click += new System.EventHandler(this.btnMove_Click);

this.chkListPossibleValues.CheckOnClick = true;
this.chkListPossibleValues.Items.AddRange(new object[] {“One”, “Two”, “Three”,
“Four”, “Five”,”Six”,”Seven”, “Eight”, “Nine”});
this.chkListPossibleValues.Location = new System.Drawing.Point(8, 8);
this.chkListPossibleValues.Name = “chkListPossibleValues”;
this.chkListPossibleValues.Size = new System.Drawing.Size(136, 184);
this.chkListPossibleValues.TabIndex = 0;

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(376, 205);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.btnMove,
this.lstSelected, this.chkListPossibleValues});
this.Name = “Form1”;
this.Text = “List Boxes”;
this.ResumeLayout(false);

}

static void Main() {
Application.Run(new Form1());
}

private void btnMove_Click(object sender, System.EventArgs e) {
if (this.chkListPossibleValues.CheckedItems.Count > 0) {
this.lstSelected.Items.Clear();
foreach (string item in this.chkListPossibleValues.CheckedItems) {
this.lstSelected.Items.Add(item.ToString());
}
for (int i = 0; i < this.chkListPossibleValues.Items.Count; i++){ this.chkListPossibleValues.SetItemChecked(i, false); } } } } [/csharp]

CheckBox with Label

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

class CheckBoxWithLabel: Form
{
Label label;
FontStyle fs = 0;
FontStyle[] afs = { FontStyle.Bold,FontStyle.Italic, FontStyle.Underline, FontStyle.Strikeout };

public static void Main()
{
Application.Run(new CheckBoxWithLabel());
}
public CheckBoxWithLabel()
{
int cyText = Font.Height;
int cxText = cyText / 2;
string[] astrText = {“Bold”, “Italic”, “Underline”, “Strikeout”};

label = new Label();
label.Parent = this;
label.Text = “Sample Text”;
label.AutoSize = true;

for (int i = 0; i < 4; i++) { CheckBox chkbox = new CheckBox(); chkbox.Parent = this; chkbox.Text = astrText[i]; chkbox.Location = new Point(2 * cxText, (4 + 3 * i) * cyText / 2); chkbox.Size = new Size(12 * cxText, cyText); chkbox.CheckedChanged += new EventHandler(CheckBoxOnCheckedChanged); } } void CheckBoxOnCheckedChanged(object obj, EventArgs ea) { for (int i = 0; i < 4; i++) if (((CheckBox) Controls[i + 1]).Checked) fs |= afs[i]; label.Font = new Font(label.Font, fs); } } [/csharp]