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-у нам се исписује резултат свега сто смо одабрали.
Решење :