RadioButton

RadioButton се примењује за неку опцију за коју су могућа само два случаја, или да се примењује дата опција или да се не примењује. Наша форма може садржати више RadioButton-а али у било ком тренутку само један можемо примењивати. За почетак, требало би да направимо нову Windows Form апликацију у Visual Studio-u, а затим двоструким кликом левог тастера миша на RadioButton у ToolBox-у да додамо RadioButton. Када се RadioButton постави на форму, морамо подесити особине, најлакши начин за то је у прозору Properties. Прозор Properties можемо отворити притиском на дугме F4. Особине можемо подесити и динамички, тј. одређеним кодом.

Слика 7.1. Прозор Properties Слика 7.2. Форма

Пример 1. Компонента RadioButton се примењује и у калкулатору, где можемо приметити и једну од главних особина RadioButton-а, да само једну опцију можемо одабрати од више понуђених.


Слика 7.3. Дигитрон

Подешавање RadioButton-а


Позиција, висина, ширина, величина

Особина Location RadioButton-а подразумева координате горње леве тачке наше компоненте у односу на форму. Такође можемо користити особине Left и Top да одредимо локацију у односу на леви, горњи угао форме, тј. удаљеност од леве и горње ивице форме, датим редоследом. Size особина одређује величину дате компоненте. Уместо Size особине можемо користити Width и Height особину RadioButton-а, које одређују ширину и висину компоненте, датим редом.
Динамички начин подешавања датих особина:

//Kreira novi RadioButton
RadioButton RB = new RadioButton();
//Odredjuje poziciju gornje, leve tаcke RadioButton-а u odnosu na gornju, levu tacku forme
RB.Location = new Point(20, 100);
//Dodeljuje visinu polja RadioButton
RB.Height = 30;
//Dodeljuje sirinu polja RadioButton
RB.Width = 150;
//Dodeljuje upravo definisan RadioButton na formu
Controls.Add(RB);
или

//Definise novi RadioButton
RadioButton RB = new RadioButton();
//Odredjuje udaljenost RadioButton-а od leve ivice forme
RB.Left = 15;
//Odredjuje udaljenost RadioButton-а od gornje ivice forme
RB.Top = 15;
//Dodeljuje visinu polja RadioButton
RB.Height = 30;
//Dodeljuje sirinu polja RadioButton
RB.Width = 200;
//Dodeljuje upravo kreiran RadioButton na formu
Controls.Add(RB);
Слика 7.4. Прва форма Слика 7.5. Друга форма

BackColor и ForeColor

BackColor и ForeColor особине се користе за подешавање боја позадине текста и текста који је наведен у форми уз RadioButton.
Динамички начин подешавања датих особина:

//Boja pozadine
RB.BackColor = Color.Red;
//Boja teksta
RB.ForeColor = Color.Blue;

Слика 7.6. Изглед форме

Name

Name особина означава јединствено име RadioButton-а. Помоћу осбине Name приступамо датој компоненти у коду.
Динамички начин подешавања дате особине:

RB.Name = "Radio dugme";

Text, TextAlign и Check Mark Alignment

Особина Text RadioButton-а представља тренутни текст који стоји уз компоненту RadioButton-а. Особина TextAlign представља особину која одређује позицију текста који стоји уз RadioButton, а CheckAlign особина се користи за позиционирање дела за чекирање RadioButton-а. Коришћењем особина CheckAlign и TextAlign можемо сместити текст и део за чекирање на било коју позицију дела предвиђеног за RadioButton-а. За особине TextAlign и Check Mark Alignment постоје три опције: лево – Left, десно – Right и средње – Center, које се могу комбиновати са још три опције: Top - врх, Bottom - дно и Middle - средина.
Динамички начин подешавања датих особина:

//Odredjivanje teksta koji stoji uz RadioButton
RB.Text = "Ovo je RadioButton";
//Podesavanje pozicije teksta koji stoji uz RadioButton
RB.TextAlign = ContentAlignment.MiddleCenter;
//Pozicija dela za cekiranje
RB.CheckAlign = ContentAlignment.MiddleRight;

Слика 7.7. Форма

Font

Font особине представљају Font текста RadioButton-а. Ако кликнемо на Font особине у Properties прозору видећемо опције као што су Font Name, Size и друге.
Динамички начин подешавања датих особина:

RB.Font = new Font("Arial", 9);

Вредности RadioButton-а

Типичан RadioButton има 2 могуће вредности “Checked” или “Unchecked”. Вредност је “Checked” ако је део за чекирање означен, а “Unchecked” у супротном. За чекирање користимо клик миша. Особина Checked је “true” ако је RadioButton “Checked”.
Динамички начин подешавања дате особине:

RB.Checked = true;//RadioButton je cekiran

Коршћење RadioButton-a

У коду проверавамо да ли је RadioButton чекиран: ако јесте предузимамо једну акцију, а ако није предузимамо другу акцију.

if (RB.Checked)
{
//Uradi nesto kada je RadioButton cekiran
}
else
{
//Uradi nesto kada RadioButton nije cekiran
}

Пример 2. Направимо програм у којем ћемо имати четири RadioButton-а, једно дугме и две лабеле, који ће нам пружати могућност да бирамо где ћемо провести распуст.


Слика 7.8. Форма


Могуће опције ће бити: 1.на селу код баке и деке, 2.на мору са породицом, 3.у кампу са другарима и 4.кући. Прва лабела ће садржати текст "Распуст ћу провести:" и налазиће се изнад наших RadioButton-а, а друга ће се налазити испод њих и у њој ће се након клика на дугме исписивати какав смо избор направили.


Слика 7.9. Форма

Код који нам је неопходан да би наш програм радио предвиђено је:

private void button1_Click(object sender, EventArgs e)
{
    //Ako je prvi radioButton1 cekiran ispisi dati tekst u label2
    if (radioButton1.Checked)
        label2.Text = "Raspust cu provesti na selu kod bake i deke.";
    //Ako je drugi radioButton1 cekiran ispisi dati tekst u label2
    if (radioButton2.Checked)
        label2.Text = "Raspust cu provesti na moru sa porodicom.";
    //Ako je treci radioButton cekiran ispisi dati tekst u label2
    if (radioButton3.Checked)
        label2.Text = "Raspust cu provesti u kampu sa drugarima.";
    //Ako je cetvrti radioButton cekiran ispisi dati tekst u label2
    if (radioButton4.Checked)
        label2.Text = "Raspust cu provesti kuci.";
}

Када смо покренули програм један од могућих изгледа форме је:

Слика 7.10.Форма

Пример 3. Направимо програм у којем ћемо имати три RadioButton-а, једно дугме, једну лабелу и један TextBox, који ће нам пружати могућност да бирамо којим ћемо превозом путовати.

Решење :




Слика 7.11. Правимо форму облика Слика 7.12. Преименујемо компоненте

Притиском на дугме "Rezervisi", u textBox-u се исписује одговарајућа порука кориснику.

Код који нам је неопходан да би наш програм радио:

private void button1_Click(object sender, EventArgs e)
{
    if (radioButton1.Checked)
        //Ako je prvi radioButton1 cekiran ispisi dati tekst u textBox1
        textBox1.Text = "Odabrali ste avion.";
    if (radioButton2.Checked)
        //Ako je drugi radioButton1 cekiran ispisi dati tekst u textBox1
        textBox1.Text = "Odabrali ste autobus.";
    if (radioButton3.Checked)
        //Ako je treci radioButton cekiran ispisi dati tekst u textBox1
        textBox1.Text = "Odabrali ste sopstveni prevoz.";
}


Слика 7.13. Изглед форме након покретања програма

Пример 4. Написати програм који за унета три броја браћа њихов максимум или минимум, у зависности од тога шта желимо наћи, при чему се за то опредељујемо помоћу два radioButton-а.

Решење :







Слика 7.14. Правимо форму овог облика Слика 7.15. Преименујемо компоненте

Код који нам је неопходан да би наш програм радио:

private void button1_Click(object sender, EventArgs e)
{
    if (radioButton1.Checked)
    {
    //Inicijalizujemo promenljive  
    int x, y, z, min;
    x = int.Parse(textBox1.Text);
    y = int.Parse(textBox2.Text);
    z = int.Parse(textBox3.Text);
    //Novoj promenljivoj dodeljujemo vrednost jednog unetog broja
    min = x;
    //Pitamo se da li je drugi uneti broj manji od min
    if (y < min)
        //Ako jeste, min je sada taj drugi broj
        min = y;
    //Ako nije, pitamo se da li je i treci broj manji od min
    if (z < min)
        //Ako jeste, onda je min bas taj treci broj   
        min = z;
        //Ispisujemo nas minimum
        label5.Text = "Minimum uneta tri broja je : " + min;
    }
    else if (radioButton2.Checked)
    {
    //Inicijalizujemo promenljive  
    int x, y, z;
    int max;
    x = int.Parse(textBox1.Text);
    y = int.Parse(textBox2.Text);
    z = int.Parse(textBox3.Text);
    //Novoj promenljivoj dodeljujemo vrednost jednog unetog broja
    mаx = x;
    //Pitamo se da li je drugi uneti broj veci od max
    if (y > mах)
        //Ako jeste, max je sada taj drugi broj
        max = y;
    //Ako nije, pitamo se da li je i treci broj veci od max
    if (z > max)
        //Ako jeste, onda max sada postaje taj treci broj   
        max = z;
        //Ispisujemo nas max
        label5.Text = "Maksimum uneta tri broja je : " + mах;
    }
}

Покренемо програм:
Слика 7.16. Изглед форме након покретања програма