GroupBox је компонента која служи за груписање других компоненти које може да садржи форма, нпр. RadioButton-a и CheckBox-oва. Ова контрола дефинише кориснику интерфејса које су могућности у одређеној групи. Дата контрола се креира као и све остале компоненте раније, двоструким кликом на иконицу компоненте у Toolbox-у, или динамички кодом:
//Kreiramo GroupBox
GroupBox grupa = new GroupBox();
//Dodeljujemo GroupBox formi
Controls.Add(grupa);
Слика 7.62. Прозор Properties | Слика 7.63. Форма са GroupBox-ом |
//Kreiramo GroupBox
GroupBox grupa = new GroupBox();
//Dodeljujemo naziv GroupBox-u
grupa.Name = "GRUPA";
//Odredjujemo boju pozadine GroupBox-a
grupa.BackColor = Color.Green;
//Odredjujemo boju slova GroupBox-a
grupa.ForeColor = Color.Yellow;
//Odredjujemo tekst GroupBox-a
grupa.Text = "Grupa";
//Odredjujemo font teksta u GroupBox-u
grupa.Font = new Font("Georgia",20);
//Odredjujemo poziciju GroupBox-a
grupa.Location = new Point(5,5);
//Odredjujemo sirinu GroupBox-a
grupa.Width = 200;
//Odredjujemo visinu GroupBox-a
grupa.Height = 200;
//Dodeljujemo GroupBox formi
Controls.Add(grupa);
//Kreiramo novi RadioButton
RadioButton rb = new RadioButton();
//Odredjujemo lokaciju RadioButton
rb.Location = new Point(50,50);
//Dodajemo RadioButton GroupBox-u
grupa.Controls.Add(rb);
Пример 1.
Направимо програм за посластичарницу! У нашем програму моћи ћемо да одаберемо како желимо да нам се служи сладолед, које кугле желимо, и са којим преливом. За то ће нам требати три GroupBox-а: Корнет, Прелив, Укуси кугли. Требаће нам и једно дугме, кад корисник одабере своју комбинацију сладоледа и кликне на то дугме, појавиће се MessageBox са врстом одабраног корнета и прелива, а потом и нови MessageBox са одабраним укусима кугли.
Решење:
Слика 7.65. Први изглед форме |
Напомена: У GroupBox-овима Корнет и Порција додајемо RadioButton-е, јер само можемо одабрати једну од опција из сваке групе, тј. један вид паковања и један укус прелива. А у GroupBox-у Укуси кугли додајемо CheckBox-oве, јер корисник може да одабере више различитих укуса. |
private void button1_Click(object sender, EventArgs e)
{
//Ako je cekiran prvi radioButton
if (radioButton1.Checked)
{
//Ako je pored prvog cekiran i cetvrti radioButton
if (radioButton4.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste obican kornet sa prelivom od jagode.");
//Ako je pored prvog cekiran i peti radioButton
else if (radioButton5.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste obican kornet sa prelivom od cokolade.");
//Ako je pored prvog cekiran i sesti radioButton
else
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste obican kornet sa prelivom od bele cokolade.");
}
//Ako je cekiran drugi radioButton
else if (radioButton2.Checked)
{
//Ako je pored drugog cekiran i cetvrti radioButton
if (radioButton4.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste cokoladan kornet sa prelivom od jagode.");
//Ako je pored drugog cekiran i peti radioButton
else if (radioButton5.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste cokoladan kornet sa prelivom od cokolade.");
//Ako je pored drugog cekiran i sesti radioButton
else
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste cokoladan kornet sa prelivom od bele cokolade.");
}
//Ako je cekiran treci radioButton
else
{
//Ako je pored treceg cekiran i cetvrti radioButton
if (radioButton4.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste porciju sa prelivom od jagode.");
//Ako je pored treceg cekiran i peti radioButton
else if (radioButton5.Checked)
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste porciju sa prelivom od cokolade.");
//Ako je pored treceg cekiran i sesti radioButton
else
//MessageBox se pojavljuje sa informacijama o odabranom kornetu i prelivu
MessageBox.Show("Narucili ste porciju sa prelivom od bele cokolade.");
}
//String koji ce se javljati u drugom MessageBox-u i na koji cemo dodavati
//Odabrane ukuse kugli
string kugla = "Narucili ste kugle sa ukusom:" + '\n';
if (checkBox1.Checked)//Ako je odabrana vanila
//Dodajemo na string tekst prvog checkBox-a
kugla = kugla + checkBox1.Text + '\n';
//Ako je odabrana cokolada
if (checkBox2.Checked)
//Dodajemo na string tekst drugog checkBox-a
kugla = kugla + checkBox2.Text + '\n';
//Ako je odabrana malaga
if (checkBox3.Checked)
//Dodajemo na string tekst treceg checkBox-a
kugla = kugla + checkBox3.Text + '\n';
//Ako je odabrana limun
if (checkBox4.Checked)
//Dodajemo na string tekst cetvrtog checkBox-a
kugla = kugla + checkBox4.Text + '\n';
//Ako je odabrana jagoda
if (checkBox5.Checked)
//Dodajemo na string tekst petog checkBox-a
kugla = kugla + checkBox5.Text + '\n';
//Ako je odabrana stracatela
if (checkBox6.Checked)
//Dodajemo na string tekst sestog checkBox-a
kugla = kugla + checkBox6.Text + '\n';
//Ako je odabrana sumsko voce
if (checkBox7.Checked)
//Dodajemo na string tekst sedmog checkBox-a
kugla = kugla + checkBox7.Text + '\n';
//Ako je odabrana bela cokolada
if (checkBox8.Checked)
//Dodajemo na string tekst osmog checkBox-a
kugla = kugla + checkBox8.Text + '\n';
//MessageBox sa stringom kugla koji podrazumeva i odabrane ukuse kugli
MessageBox.Show(kugla);
}
Пример 2. Направимо програм у којем ћемо имати textBox, један groupBox, једно дугме, две лабеле и четири radioButtona-а. Програм треба да за унети број килограма и одабрано воће рачуна укупан износ, при чему се зна цена килограма сваког воћа.
Решење :