CheckBox

CheckBox компонента нам омогућава да селектујемо једну или више опција из листе опција. CheckBox можемо креирати двоструким кликом левог тастера миша на CheckBox у ToolBox-у. Када смо додали CheckBox, ми можемо мењати његове особине, позицију, величину, место, итд.

Слика 7.17. Прозор Properties Слика 7.18. Форма

Пример 1. Када при обради документа у програму Word, желимо да користимо опцију Find and Replace можемо видети како се примењује компонента CheckBox.


Слика 7.19. Find and Replace

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

Након додавања CheckBox-а на форму следи подешавање особина. Најлакши начин за то је у прозору Properties. Поменути прозор можемо отворити ако већ није отворен помоћу F4.

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

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

//Kreira novi CheckBox
CheckBox chekiraj = new CheckBox();
//Gornja leva tacka date komponente
chekiraj.Location = new Point(20, 150);
//Visina date komponente
chekiraj.Height = 40;
//Sirina date komponente 
chekiraj.Width = 150;
//Dodaje kreirani CheckBox na formu
Controls.Add(chekiraj);

Слика 7.20. Форма са CheckBox-ом

Name

Name особина означава јединствено име CheckBox-а. Помоћу осбине Name приступамо датој компоненти у коду. Помоћу наредног кода можемо поставити и одредити назив тј. особину Name датог CheckBox-а:

chekiraj.Name = "chekiraj";  

Text, TextAlign и Check Mark Alignment

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

//Tekst koji stoji uz polje za cekiranje
chekiraj.Text = "Dugme za cekiranje";
//Pozicija teksta
chekiraj.TextAlign = ContentAlignment.MiddleLeft;
//Pozicija dela za cekiranje 
chekiraj.CheckAlign = ContentAlignment.MiddleRight;

Слика 7.21. Форма са претходно подешеним CheckBox-ом

Font

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

//Font slova i velicina
chekiraj.Font = new Font("Georgia", 16);

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

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

//Polje za cekiranje je cekirano
chekiraj.Checked = true;

Коришћење CheckBox-a

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

if (chekiraj.Checked) 
{ 
//Neka akcija koja se izvrsava kada je CheckBox cekiran
} 
else 
{ 
//Neka akcija koja se izvrsava kada CheckBox nije cekiran
} 

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

Решење:


Слика 7.22. Форма са предвиђеним CheckBox-овима и лабелама

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


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

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

private void button1_Click(object sender, EventArgs e)
{
    label2.Text = "Buket ce sadrzati: " + '\n';
    if (checkBox1.Checked)
        label2.Text = label2.Text + "ruze" + '\n';
    if (checkBox2.Checked)
        label2.Text = label2.Text + "orhideje" + '\n'; 
    if (checkBox3.Checked)
        label2.Text = label2.Text + "ljiljane" + '\n';
    if (checkBox4.Checked)
        label2.Text = label2.Text + "narcise" + '\n';
    if (checkBox5.Checked)
        label2.Text = label2.Text + "lale" + '\n';
    if (checkBox6.Checked)
        label2.Text = label2.Text + "kale" + '\n';
}

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

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

Пример 3. Написати програм који садржи четири checkBox-а, једно дугме и једну лабелу. Преко три checkBox-а се поредељујемо шта желимо да наручимо (доручак/ручак/вечеру), а преко четвртог имамо могућност и да изаберемо да нам буду приказане цене оброка. У лабели нам се исписује шта смо поручили.

Решење :


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

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

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

private void button1_Click(object sender, EventArgs e)
{
    //Ako je checkBox4 cekiran, u labelama ce se ispisivati sta je naruceno sa cenama obroka
    if (checkBox4.Checked)
    {
    //Ono sto zelimo da pise na pocetku u labeli
    label2.Text = "Izabrali ste: " + '\n';
    if (checkBox1.Checked)
        //Ako je prvi checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "dorucak (cena je 100 dinara)" + '\n';
    if (checkBox2.Checked)
        //Ako je drugi checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "rucak (cena je 180 dinara)" + '\n'; 
    if (checkBox3.Checked)
        //Ako je treci checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "veceru (cena je 150 dinara)" + '\n';                  
    }
    //Ako nije checkBox4 cekiran, u labelama ce se ispisivati samo sta je naruceno
    else
    {
    //Ono sto zelimo da pise na pocetku u labeli
    label2.Text = "Izabrali ste: " + '\n';
    if (checkBox1.Checked)
        //Ako je prvi checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "dorucak" + '\n';
    if (checkBox2.Checked)
        //Ako je drugi checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "rucak" + '\n'; 
    if (checkBox3.Checked)
        //Ako je treci checkBox cekiran ispisi dati tekst u labelu
        label1.Text = label1.Text + "veceru" + '\n';
    }
} 


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

Пример 4. Написати програм који садржи пет checkBox-ова, један textBox и четири labele-е. Преко checkBox-ова бирамо жанрове филмова које волимо да гледамо, а у textBox уносимо омиљени филм. У одређену labele-у нам се исписује резултат свега сто смо одабрали.

Решење :


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

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

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

private void button1_Click(object sender, EventArgs e)
{
    //Deklarisemo novi string i upisemo sta zelimo da pise na pocetku
    string zanr = "Omiljeni zanrovi su mi: " + '\n';
    string film = textBox1.Text;
    if (checkBox1.Checked)
        //Ako je prvi checkBox cekiran nadovezi dati tekst na string
        zanr = zanr + checkBox1.Text + '\n';
    if (checkBox2.Checked)
        //Ako je drugi checkBox cekiran nadovezi dati tekst na string
        zanr = zanr + checkBox2.Text + '\n';
    if (checkBox3.Checked)
        //Ako je treci checkBox cekiran nadovezi dati tekst na string
        zanr = zanr + checkBox3.Text + '\n';
    if (checkBox4.Checked)
        //Ako je cetvrti checkBox cekiran nadovezi dati tekst na string
        zanr = zanr + checkBox4.Text + '\n';
    if (checkBox5.Checked)
        //Ako je peti checkBox cekiran nadovezi dati tekst na string
        zanr = zanr + checkBox5.Text + '\n';
    //Ispisujemo sve u labelu
    label4.Text = zanr + "A omiljeni film mi je " + film + ".";

}


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