CheckedChanged Event

image_pdfimage_print

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]