Controalele RadioButton şi CheckBox

Controalele RadioButton şi CheckBox

Deşi aspectul acestor controale este diferit de cel al butonului, din punct de vedere al programării obiectuale ele au aceeaşi clasă de bază. Vor fi însă declarate ca obiecte aparŢinând clasei RadioButton şi respectiv CheckBox.
Controlul de tip RadioButton este afişat sub forma unui cerc care permite utilizatorului să aleagă o singură optiune din mai multe posibile.
Controlul de tip CheckBox este afişat sub forma unei casete pătrate mici care poate avea două stări, selectată sau neselectată. Spre deosebire de butoanele radio, casetele nu sunt grupate, starea de selectare a uneia nefiind legată de starea altor casete folosite în fereastră.
Câteva dintre proprietătile controlului RadioButton sunt:

Appearance – permite trecerea de la forma standard la o reprezentare sub forma unui buton obişnuit. În acest al doilea caz, la selectarea butonului radio, butonul va ramâne apăsat;

AutoCheck – dacă această proprietate este true, la selectarea controlului este afişat un punct negru în interiorul lui iar dacă este false, punctul negru nu este afişat;
CheckAlign – prin intermediul acestei proprietăŢi, se poate indica modul de aliniere a textului asociat controlului în raport cu controlul însuşi. Valorile posibile sunt left, middle, sau right;

Checked – indică starea controlului. Dacă controlul este selectat, proprietatea are valoarea true;

Evenimentele specifice butonului radio sunt:

CheckChanged – este generat la schimbarea stării a unui buton radio. Acest eveniment va fi generat de două ori: odată pentru controlul care era selectat şi acum devine neselectat şi apoi încă odată pentru controlul care se selectează;
Click – este generat atunci cînd se selectează butonul cu mouse-ul (clic).
În mod similar şi controlul CheckBox va prezenta un set de proprietăti specifice, care suplimentar fată de cele ale butonului radio sunt:
CheckState – Spre deosebire de controlul RadioButton, care are doar 2 stări (marcat sau nemarcat), controlul CheckBox poate avea 3 stari: marcat, nemarcat şi nedeterminat (Checked, Unchecked şi Indeterminate). În starea nedeterminat, eticheta asociată controlului devine gri, pentru a specifica faptul că valoarea marcajului este nevalidă, sau, starea controlului nu are nici o semnificaŢie în circumstanta actuală.
ThreeState – dacă această proprietate este false, controlul nu poate intra in starea nedeterminat prin setarea proprietătilor, ci doar prin intermediul metodelor asociate.

Evenimentele specifice butonului CheckBox sunt:

CheckedChanged – este generat la modificarea stării de marcare a controlului (proprietatea Checked). Interesant este că la un control cu proprietatea ThreeState poziŢionată pe true, se poate întâmpla ca să se schimbe starea de marcare fără ca acest eveniment să se producă. Aceasta se întâmplă când starea controlului devine nedeterminată.
CheckedStateChanged – este generat la modificarea valorii proprietătii
CheckedState. Evenimentul este generat şi la trecerea în starea nedeterminat.

TEMA

1. Colorati panoul in verde si denumiti-l Calcule
2. Plasati un control Label cu textul setat “a=”
3. In dreptul controlulu Label plasati un control Textbox
4. Plasati dreapta sus un control Label cu textul setat “b=”
5. In dreptul controlulu Label plasati un control Textbox
6. Plasati un GroupBox pe panou
7. In GroupBox plasati patru controale RadioButton
8. In dreptul fiecaruia plasati un control Label cu numele unei operatii aritmetice
9. Plasati in afara GroupBox-ului doua butoane cu textul EXECUTA respectiv EXIT
10.Cand apasam butonul EXECUTA se va afisa rezultatul operatiei selectate
11. Cand apasam Exit se iese din aplicatie

Indicatii:
1. Pentru conversii folositi clasa Convert din care alegeti tipul la care faceti conversia.
2. Pentru afisare folositi clasa MessageBox
3. In afisare daca se doreste combinatii de mesaje si variabile de alt tip decat string se foloseste semnul +.
EX: int x=3;
MessageBox.Show(”Ana are”+x+”mere”);

SOLUTIE PROPUSA DE IULIAN:
Iulian Dita

private void button2_Click(object sender, EventArgs e)
{ Application.Exit(); }

private void button1_Click(object sender, EventArgs e)
{
int a, b, c, d, g; float f;
a=Convert.ToInt32(textBox1.Text);
b=Convert.ToInt32(textBox2.Text);
c =a+b;
d = a – b;
g = a * b;
f = a / b;
if(radioButton1.Checked==true) MessageBox.Show(„rezultat=”+d);
if(radioButton2.Checked==true) MessageBox.Show(„rezultat=”+c);
if(radioButton3.Checked==true) MessageBox.Show(„rezultat=”+g);
if(radioButton4.Checked==true) MessageBox.Show(„rezultat=”+f);
}
}

TEMA 2
Realizati un minitest care sa cuprinda trei intrebari:
1. Prima intrebare sa aiba patru variante de raspuns din care numai unul sa fie corect.
2. A doua intrebare sa aiba patru variante de raspuns din care doua sa fie corecte
3. A treia intrebare sa fie cu raspuns scurt
4. La apasarea butonului numit TRIMITE sa se afiseze daca s-a raspuns corect la toate cele 3 intrebari.

SOLUTIE DE DATA DE ADELINA SIMONA

Pentru ca la o rulare intrebarile sa nu ramana cu selectiile anterioare, scriem urmatoarea secventa:

public Form1()
{
InitializeComponent();
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
textBox1.Text = false;
}

La cele 3 intrebari, pentru aceasta solutie, raspunsurile corecte sunt „roman” al treilea buton din caseta de butoane si alegerile 2 si 3 la caseta cu checkboxuri.

private void button2_Click(object sender, EventArgs e)
{
int a, b, c, d, g; float f;
if (textBox1.Text.CompareTo(„romani”) == 0)
if (radioButton3.Checked == true)
if (checkBox1.Checked == false && checkBox2.Checked == true && checkBox3.Checked == true&& checkBox1.Checked == false )
MessageBox.Show(„Ai raspuns corect”);
}
else MessageBox.Show(„Gresit !!”);
}

Butonul de iesire:
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{

Despre scoalamultimedia
la 3 click distanta :)

Comentariile sunt închise.

%d blogeri au apreciat asta: