Painikkeita on kolmenlaisia: Button eli tavallinen painike, CheckBox eli "raksi ruutuun" sekä RadioButton eli "joko-tai"-valinta.
Luodaan uusi button koodissa
// luodaan button
Button btnOk = new Button();
// annetaan nimi
btnOk.Name = "btnOk";
// annetaan teksti
btnOk.Text = "OK";
// lisätään tapahtumankäsittelijä klikkaukselle
btnOk.Click += new EventHandler(btnOk_Click);
// lisätään button lomakkeelle (johon this viittaa)
this.Controls.Add(btnOk);
Tapahtumankäsittelijän koodi voisi olla
void btnOk_Click(object sender, EventArgs e)
{
// button on senderissä
// tehdään tyypinmuunnos
Button b = (Button)sender;
// näytetään buttonin teksti
MessageBox.Show(b.Text);
}
Luodaan checkbox, joka voi olla kolmessa tilassa
// luodaan checkbox
CheckBox cb = new CheckBox();
// asetetaan teksti
cb.Text = "Valitaanko?";
// sallitaan kolme tilaa
cb.ThreeState = true;
// lisätään tapahtumankäsittelijä tilan muutokselle
cb.CheckStateChanged += new EventHandler(cb_CheckStateChanged);
// lisätään checkbox lomakkeelle (johon this viittaa)
this.Controls.Add(cb);
Tapahtumankäsittelijän koodi voisi olla
void cb_CheckStateChanged(object sender, EventArgs e)
{
// checkbox on senderissä
// tehdään tyypinmuunnos
CheckBox cb = (CheckBox)sender;
// jos raksi
if (cb.CheckState == CheckState.Checked)
{
MessageBox.Show("Valittu");
}
// jos ei raksia
else if (cb.CheckState == CheckState.Unchecked)
{
MessageBox.Show("Ei valittu");
}
// muutoin
else
{
MessageBox.Show("Määrittelemätön");
}
}
// luodaan groupbox
GroupBox gb = new GroupBox();
// luodaan eka radiobutton
RadioButton rb1 = new RadioButton();
// asetetaan nimi
rb1.Name = "rb1";
// asetetaan teksti
rb1.Text = "Vaihtoehto 1";
// lisätään tapahtumankäsittelijä tilanmuutokselle
rb1.CheckedChanged += new EventHandler(rb_CheckedChanged);
// lisätään radiobutton groupboxiin
gb.Controls.Add(rb1);
// luodaan toka radiobutton
RadioButton rb2 = new RadioButton();
// asetetaan nimi
rb2.Name = "rb2";
// asetetaan teksti
rb2.Text = "Vaihtoehto 2";
// lisätään tapahtumankäsittelijä tilanmuutokselle
rb2.CheckedChanged += new EventHandler(rb_CheckedChanged);
// sijoitetaan vähän alemmaksi kuin eka
rb2.Top = 20;
// lisätään radiobutton groupboxiin
gb.Controls.Add(rb2);
// lisätään groupbox lomakkeelle (johon this viittaa)
this.Controls.Add(gb);
Molempien radiobuttoneiden tilanmuutoksen käsittelijä osoittaa samaan metodiin
void rb_CheckedChanged(object sender, EventArgs e)
{
// radiobutton on senderissä
RadioButton rb = (RadioButton)sender;
// jos valittu
if (rb.Checked)
{
MessageBox.Show(rb.Name + " valittu");
}
}