The following source code will provide the use of CheckedListBox Control In C#.

Source Code:

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

class CheckedListBoxDemo:Form
{
CheckedListBox FavLangs;
GroupBox grpControls;
Button AddValue;
Button EditValue;
Button DeleteValue;
Button ShowValues;
TextBox OldValue;
TextBox NewValue;
Label OldCaption;
Label NewCaption;
CheckBox chkAll;

public CheckedListBoxDemo()
{
grpControls=
new GroupBox();
grpControls.Text="CheckedListBox Demo";
AddValue=
new Button();
AddValue.Text="&Add";
AddValue.Click+=
new EventHandler(Add_Click);
EditValue=
new Button();
EditValue.Text="&Edit";
EditValue.Click+=
new EventHandler(Edit_Click);
DeleteValue=
new Button();
DeleteValue.Text="&Delete";
DeleteValue.Click+=
new EventHandler(Delete_Click);
ShowValues=
new Button();
ShowValues.Text="&Show";
ShowValues.Click+=
new EventHandler(ShowValues_Click);
OldValue=
new TextBox();
OldValue.ReadOnly=
true;
NewValue=
new TextBox();
OldCaption=
new Label();
OldCaption.Text="Old Value:";
NewCaption=
new Label();
NewCaption.Text="New Value:";
chkAll=
new CheckBox();
chkAll.Text="Check/UnCheck All";
chkAll.CheckedChanged+=
new EventHandler(Checked_Changed);
chkAll.Width=175;
OldCaption.Location=
new Point(15,15);
PositionControl(OldCaption,OldValue,
true);
PositionControl(OldCaption,NewCaption,
false);
PositionControl(OldValue,NewValue,
false);
PositionControl(NewCaption,AddValue,
false);
PositionControl(AddValue,EditValue,
true);
PositionControl(EditValue,DeleteValue,
true);
PositionControl(DeleteValue,ShowValues,
true);
PositionControl(AddValue,chkAll,
false);
grpControls.Controls.AddRange(
new Control[]{OldCaption,OldValue,NewCaption,NewValue,AddValue,EditValue,DeleteValue,ShowValues,chkAll});
grpControls.Size=
new Size(450,200);
FavLangs=
new CheckedListBox();
FavLangs.Location=
new Point(10,10);
FavLangs.SelectedIndexChanged+=
new EventHandler(SelectedIndex_Changed);
grpControls.Location=
new Point(FavLangs.Left+FavLangs.Width+20,FavLangs.Top);
this.Controls.AddRange(new Control[]{FavLangs,grpControls});
}

private void PositionControl(Control source,Control destination,bool CanPlaceHorizontal)
{
if(CanPlaceHorizontal)
{
destination.Location=
new Point(source.Left+source.Width+20,source.Top);
}
else
{
destination.Location=
new Point(source.Left,source.Top+source.Height+20);
}
}

private void Add_Click(object sender,EventArgs e)
{
if(NewValue.Text.Trim()!="")
{
FavLangs.Items.Add(NewValue.Text);
}
else
{
MessageBox.Show("Enter a Value to Add");
}
}

private void SelectedIndex_Changed(object sender,EventArgs e)
{
OldValue.Text=FavLangs.Items[FavLangs.SelectedIndex].ToString();
}

private void Edit_Click(object sender,EventArgs e)
{
if(FavLangs.SelectedIndex==-1)
{
MessageBox.Show("Select a Item to Edit");
}
else
{
if(NewValue.Text.Trim()!="")
{
FavLangs.Items[FavLangs.SelectedIndex]=NewValue.Text;
}
else
{
MessageBox.Show("Enter a Value to Edit");
}
}
}

private void Delete_Click(object sender,EventArgs e)
{
if(FavLangs.SelectedIndex!=-1)
{
FavLangs.Items.RemoveAt(FavLangs.SelectedIndex);
}
else
{
MessageBox.Show("Select a Item to Delete");
}
}

private void ShowValues_Click(object sender,EventArgs e)
{
string SelectedValues="The following value(s) are Selected:\n" + new String('-',48) + "\n";
for(int i=0;i<FavLangs.CheckedItems.Count;i++)
{
SelectedValues+=FavLangs.CheckedItems[i].ToString() + "\n";
}
MessageBox.Show(SelectedValues);
}

private void Checked_Changed(object sender,EventArgs e)
{
for(int i=0;i<FavLangs.Items.Count;i++)
{
FavLangs.SetItemChecked(i,chkAll.Checked);
}
}

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

Next Recommended Readings