Panel
Panel je компонента која служи за груписање других компоненти као што су Button и TextBox. Ова компонента дефинише кориснику интерфејса које су могућности у одређеној групи. Panel садржи оквир у ком се налазе груписане компоненте.
Panel компоненту креирамо двоструким кликом левог тастера миша на њену иконицу у Toolbox-у. Након креирања следи уређивање особина, на сличан начин као и код претходних компоненти.
|
|
|
|
|
Слика 7.72. Прозор Properties |
|
Слика 7.73. Форма са Panel-ом |
//Kreira panel
Panel p = new Panel();
//Dodajemo panel na formu
Controls.Add(p);
Подешавање Panel-а
За подешавање неких основних особина као што су: Name, Text, BackColor и ForeColor, Location, Width i Height, важе слична правила као и за претходне компоненте.
Динамички начин подешавања датих особина:
//Kreira panel
Panel p = new Panel();
//Odredjujemo poziciju gornje, leve tacke naseg panela
p.Location = new Point(25, 25);
//Odredjujemo naziv
p.Name = "Panel_1";
//Dimenzije panela
p.Size = new Size(250, 250);
//Boja pozadine Panel-a
p.BackColor = Color.LightBlue;
//Dodajemo panel na formu
Controls.Add(p);
Слика 7.74. Форма
Подешавање граница
Почетно подешена опција за границе је да границе не буду видљиве, што јесте идеално за неке програме, али не за све. Могуће опције за границе су:
None - оквир није видљив,
FixedSingle - оквир је видљив, дат је као црни оквир,
Fixed3D - оквир је видљив, представљен је као неки вид 3D оквира.
Подешавање видљивости
Пример једне од битнијих употреба дате компоненте је када желимо да прикажемо или сакријемо групу компоненти. Уместо да приказујемо или сакривамо појединачно компоненте, ми можемо одједном приказати или сакрити све компоненте у оквиру Panel-а.
//Panel nije vidljiv
p.Visible = false;
Пример 1. Направићемо форму са дугметом, на којој ће се при клику на дугме појављивати панел са три TextBox-a: име, презиме и место боравка.
Решење:
private void button1_Click(object sender, EventArgs e)
{
//Kreiramo novi Panel
Panel p = new Panel();
//Odredjujemo Lokaciju
p.Location = new Point(10, 10);
;//Odredjujemo naziv
p.Name = "Panel_1"
//Odredjujemo dimenzije
p.Size = new Size(250, 250);
//Odredjujemo boju pozadine
p.BackColor = Color.LightBlue;
//Kreiramo novi TextBox
TextBox tb1 = new TextBox();
//Odredjujemo poziciju gornje, leve tacke nase kontrole u formi
tb1.Location = new Point(20, 20);
//Text TextBox-a
tb1.Text = "Ime";
//Velicina TextBox-a
tb1.Size = new Size(150, 30);
//Kreiramo novi TextBox
TextBox tb2 = new TextBox();
//Odredjujemo poziciju gornje, leve tacke nase kontrole u formi
tb2.Location = new Point(20, 60);
tb2.Text = "Prezime";//Text TextBox-a
//Velicina TextBox-a
tb2.Size = new Size(150, 30);
//Kreiramo novi TextBox
TextBox tb3 = new TextBox();
//Odredjujemo poziciju gornje, leve tacke nase kontrole u formi
tb3.Location = new Point(20, 100);
//Text TextBox-a
tb3.Text = "Mesto boravka";
//Velicina TextBox-a
tb3.Size = new Size(150, 30);
//Dodajemo na Panel prvi TextBox
p.Controls.Add(tb1);
//Dodajemo na Panel drugi TextBox
p.Controls.Add(tb2);
//Dodajemo na Panel treci TextBox
p.Controls.Add(tb3);
//Dodajemo Panel na formu
Controls.Add(p);
}
Слика 7.75. Форма након подешавања
Пример 2.
Направићемо програм за пријаву за школску екскурзију. Биће нам потребне две компоненте Panel са по три TextBox-a и три лабеле и још три лабеле ван датих Panel-a, као на датој слици.
Решење:
Слика 7.76. Форма са потребним елементима
У обе компоненте ставићемо да текст прве лабеле буде "Име", испод које ће се налазити TextBox за унос имена, текст друге лабеле биће "Презиме" испод које ће се налазити TextBox за унос презимена, а текст треће лабеле биће "ЈМБГ" и испод њега ће се налазити TextBox за унос ЈМБГ. Први Panel ће служити за податке ученика, а други за податке родитеља или старатеља, и то ћемо означити са две лабеле које се налазе ван Panel-а. Трећа преостала лабела служиће да када кликнемо на дугме испише име и презиме ученика који је се успешно пријавио за екскурзију.
Слика 7.77. Форма са промењеним називима елемената
Код потребан да би наш програм радио:
private void button1_Click(object sender, EventArgs e)
{
//Ako je korisnik popunio sva polja ispisuje u labelu ime i prezime prijavljenog ucenika
if (textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != ""
&& textBox4.Text != "" && textBox5.Text != "" && textBox6.Text != "")
label9.Text = "Ucenik " + textBox1.Text + " " + textBox2.Text +
" je se prijavio za ekskurziju.";
//Ako korisnik nije popunio sva polja prikazuje u labeli poruku upozorenja
else
label9.Text = "Niste popunili sve podatke!";
}
Пример изгледа наше форме након покретања програма:
Слика 7.78. Покренут програм
Пример 3. Направимо програм у којем ћемо имати два textBox-а, пет лабела, два radioButton-а, два panel-а и једно дугме. Програм треба да за унете бројеве рачуна максимум или минимум, при чему ће то одабрати на одређеном radioButton-у.
Решење :
|
|
|
|
|
|
Слика 7.79. Правимо форму овог облика |
|
Слика 7.80. Преименујемо компоненте |
Притиском на дугме "Odredi", u label-и се исписује одговарајућа порука кориснику.
Код који нам је неопходан да би наш програм радио:
private void button1_Click(object sender, EventArgs e)
{
int a = int.Parse(textBox1.Text);
int b = int.Parse(textBox2.Text);
//Ako je korisnik izabrao prvi radioButton
if (radioButton1.Checked)
{
//Ispitujemo koji je broj veci
if (a > b)
//Ako je veci a, u labelu ispisujemo nas maksimum, a to je bas a
label5.Text = "Maksimum je: " + a + ".";
else
//U suprotnom maksimum je b
label5.Text = "Maksimum je: " + b + ".";
}
//Ako je korisnik izabrao drugi radioButton
else if (radioButton2.Checked)
{
//Ispitujemo koji je broj manji
if (a < b)
//Ako je manji a, u labelu ispisujemo nas minimum, a to je bas a
label5.Text = "Minimum je: " + a + ".";
else
//U suprotnom minimum je b
label5.Text = "Minimum je: " + b + ".";
}
}
Покренемо програм:
Слика 7.81. Изглед форме након покретања програма
Пример 4. Направити програм који садржи три panel-a на којима су три checkBox-а, три pictureBox-а , и кликом на сваки од checkBox-ова бирамо шта желимо да поручимо.
Решење :
Слика 7.82. Изглед форме пре покретања програма
Притиском на дугме "Porudzbina", u label-и се исписује одговарајућа порука кориснику.
Код који нам је неопходан да би наш програм радио:
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked && checkBox2.Checked && checkBox3.Checked)
//Ako su cekirana sva tri checkBox-a
label7.Text = "Narucili ste kafu, dorucak i dezert. ";
else if (checkBox1.Checked && checkBox2.Checked)
//Ako su cekirani prvi i drugi checkBox
label7.Text = "Narucili ste kafu i dorucak. ";
else if (checkBox2.Checked && checkBox3.Checked)
//Ako je cekiran drugi i treci checkBox
label7.Text = "Narucili ste dorucak i dezert. ";
else if (checkBox1.Checked && checkBox3.Checked)
//Ako je cekiran prvi i treci checkBox
label7.Text = "Narucili ste kafu i dezert. ";
else if (checkBox1.Checked)
//Ako je cekiran prvi checkBox
label7.Text = "Narucili ste kafu. ";
else if (checkBox2.Checked)
//Ako je cekiran drugi checkBox
label7.Text = "Narucili ste dorucak. ";
else if(checkBox3.Checked)
//Ako je cekiran treci checkBox
label7.Text = "Narucili ste dezert. ";
else
//Ako nije cekiran nijedan checkBox
label7.Text = "Niste nista narucili. ";
}
Покренемо програм:
Слика 7.83. Изглед форме након покретања програма