KONTROLE IZBORA_- Kontrola ListBox
ili okvir sa listom prikazuje listu elemenat od kojih može da bude izabran jedan ili više elemenata.
Elementi liste mogu se dodavati korišćenjem svojstva Items
(Properties) ili
ili tokom izvršavanja aplikacije na sledeći način metod Add:
listBox1.Items.Add("prvi element");
listBox1.Items.Add("drugi element");
listBox1.Items.Add("treći element");
Novi element dodaje se na kraj liste, ako ona nije uređena, ili se dodaje na
odgovarajuće mesto da se sačuva uređenost liste.
-Svojstvo Sotred, ako je True,elementi se automatski abecedno uređuju.
-Broj elemenata liste definisan je svojstvom Count kolekcije Items.
LstBox1.Items.Count. Elementi liste indeksirani su od 0 do Items.Count-1.
-Svojstvo SelectedIndex ima ima vrednost rednog broja (indeksa) odabranog elementa liste. Ako nijedan element nije
izabran vrednost je -1.
1
Page
-Svojstvo Text vraća tekst pridružen selektovanom elementu liste, a ukoliko nijedan element nijeb selektovan svojstvo vraća
prazan string.
-Metod RemoveAt kolekcije Itemsuklanja pojedinačne elemente liste:
Primer: Izbrisati prvi, treći, poslednji i izabrani element
listBox1.Items.RemoveAt(0);
listBox1.Items.RemoveAt(2);
listBox1.Items.RemoveAt(listBox1.Items.Count-1);
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
-Brisanje svih elemenata iz liste metod Clear:
listBox1.Items.Clear();
1
-Svojstvo SelectedItem omogućava pristup izabranom elementu liste.
Primer
Imena se dodaju i brišu pojedinačno ili sva u ListBox1-imena. Iz listBoxa1 možemo prebacivati, ili kopirati određena
imena (ako je checkBox čekiran)
private void radioButton1_Click(object sender, EventArgs e)
{
listBox1.SelectedIndex = -1;
if (textBox1.Text != "")
{
listBox1.Text = textBox1.Text;
if (listBox1.SelectedIndex == -1)
{
listBox1.Items.Add(textBox1.Text);
textBox1.Text = "";
}
}
radioButton1.Checked = false;
}
private void radioButton2_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
radioButton2.Checked = false;
}
private void radioButton3_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
radioButton3.Checked = false;
}
Page
2
private void button1_Click(object sender, EventArgs e)
{
if (listBox1.SelectedIndex != -1)
{
listBox2.Items.Add(listBox1.Text);
if(!checkBox1.Checked)
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
listBox1.SelectedIndex = -1; // da ne bude selektovano posle čekiranja
}
2
Kontrola ComboBox
Kombinacija TextBox-a i ListBox-a. Daje mogućnost izbora elementa iz liste, ili unos novog elementa.
DropDownStyle kontrole ComboBox definiše izgled kontrole i ima 3 različita prikaza:
- Simple – lista je uvek vidljiva i korisnik može upisivati u polje za unos;
- DropDown (podrazumevani) – lista je “urolovana”, pa se vrši izbor na strelici, može se upisivati;
- DropDownList – kao i kod stila DropDown urolovana, ali se ne može unositi tekst;
Svojstva Items, Sorted, SelectedIndex, SelectedItem imaju isto
značenje kao i kod ListBox-a.
Svojstvo Text definiše sadržaj polja za unos teksta
Značajni događaji su:
- SelectedIndexChanged – promena izabranog elementa;
- TextChanged dešava se kada se menja svojstvo Text;
Kontrola RadioButton
Upotrebljava se kada korisnik treba da izabere samo jednu od međusobno isključivih opcija. Pošto korisnik
izabere jednu opciju, prethodno izabrana opcija se automatski briše.
Svojstvo:
- Text –korisnik daje opis kontrole;
-Checked – true ako je izabrano dugme, ako nije false;
Značajni događaji su:
- ChackedChanged-reakcija na promenu potvrde radio dugmeta. Kada postoji više kontrola RadioButton ovaj
događaj se dešava dva puta: prvo za kontrolu koja je bila potvrđena,a sada više nije, pa za kontrolu koja
postaje potvrđena;
- Click – dešava se svaki put kada se klikne na dugme ( i kada je izabrano, i kada nije);
Page
3
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (radioButton1.Checked)
label1.ForeColor = Color.Yellow;
else
label1.ForeColor = Color.Black;
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
if (radioButton2.Checked)
label1.BackColor = Color.Blue;
else
label1.BackColor = Color.Silver;
}
3
Kontrola CheckBox
Svojstvo:
- Text –korisnik daje opis kontrole;
-Checked – true ako je izabrano dugme, ako nije false;
Značajni događaji su:
- ChackedChanged-reakcija na promenu potvrde (da ili ne)
Page
4
PRIMER:Napisati program koji za dati prirodan broj n odredjuje:
a) K – kao broj cifara u dekadnom zapisu broja n;
b) sumu cifara broja n;
c) maksimalna cifra
d) da li je broj n palindrom
Svojstvo TextBox2 multiline staviti na TRUE (pisanje u više redova)
private void button1_Click(object sender, EventArgs e)
{
int n = Convert.ToInt32(textBox1.Text);
int c, s, max, bc, b3, x, inv;
s = bc = max = b3 = x = 0;
inv = n; //cuva vrednost broja n
while (n > 0)
{ c = n % 10;//odredjuje poslednju cifru broja n
n /= 10; //uklanja poslednju cifru iz broja n
bc++; //uvecava broj cifara
if (c > max) max = c;//odredjuje najvecu cifru
if (c == 3) b3++; // broj cifara jednakih 3
s += c; // sabira cifre broja
x = x * 10 + c; //formiranje inverznog broja
} textBox2.Text = ""; // da ne ponavlja svaki put ispisane redove
if (checkBox1.Checked) textBox2.Text += "Broj cifara je " + bc + "\r\n";
if (checkBox2.Checked) textBox2.Text += "Suma cifara je " + s + "\r\n";
if (checkBox3.Checked) textBox2.Text += "Najveća cifara je " + max + "\r\n";
if (checkBox4.Checked) textBox2.Text += "Broj pojavljivanaja 3 je "+ b3 +"\r\n";
if (checkBox5.Checked)
{
if (inv == x)
textBox2.Text += "Jeste palindrom\r\n";
else
textBox2.Text += "Nije palindrom\r\n";
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = ""; // ako unosimo novi broj da se isprazni tekstbox2
4
Kontrole GroupBox i Panel
su kontejerske kontrole koje se koriste da bi se napravila grupa kontrola koje su logički povezane.
Na kontejnerku kontrolu koju smo postavili na formu dodajemo željene kontrole. Na taj način kontejnerska
kontrola postaje “roditelj” postavljenim kontrolama. Pomeranjem kontejnerske kontrole pomeraju se i sve
kontrole koje su na njoj. Menjanjem svojstva kontejnerske kontrole automatski se menjaju svojstva svih kontrola
koje joj pripadaju. Npr. ako je svojstvo Enabled kontejnerske kontrole stavljeno na False,biće onemogućene sve
kontrole unutar nje. Ili sa svojstvom Visible regulišemo vidljivost kontrola unutar kontejnerske kintrole.
Kada imamo više pojedinačnih kontrola radioButton unutar kontejnerske kontrole, samo jedna može biti
izabrana. Ponekad je potrebno imati više grupa izbora, pa koristimo više kontejnerskih komponenti.
Page
5
Razlike GroupBox i Panel:
-GroupBox ima svojstvo Text, kojim se može opisati značenje kontrole, a Panel to nema;
-Panel ima mogućnost ScrollBar-a,a GroupBox nema;
-Panel se podrazumevano prikazuje bez granica, ali ima svojstvo BorderStyle za standardnu ili trodimenzionalnu
granicu, dok GroupBox ima granicu koja se ne može menjati;
5
Primer ComboBox
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int cifra =0;
int n = Convert.ToInt32(textBox1.Text);
switch (comboBox1.SelectedIndex)
{
case 0: cifra = (n % 10);
break;
case 1: cifra = (n / 10);
break;
case 2: cifra = (n / 100);
break;
}
textBox2.Text = cifra.ToString();
Page
6
}
6
Download

KONTROLE IZBORA