Controalele ListBox şi CheckedListBox

Controalele ListBox şi CheckedListBox
Controalele de acest tip sunt utilizate pentru a afişa un set de stringuri, din care unul sau mai multe pot fi selectate la un momentdat. Clasa ListBox oferă functionalitate atât controlului ListBox cât controlului ComboBox. Clasa CheckedListBox este derivată din aceasta şi adaugă fiecărui string din listă un control de tip CheckBox, utilizat pentru selectare.
Câtve din proprietătile furnizate de clasa ListBox sunt:

SelectedIndex – indică indicele bazat pe 0 a elementului selctat în listă, sau a primului element selctat în lista, în cazul selectiei multiple.
ColumnWidth – specifică lătimea coloanelor, în listele cu coloane multiple. Items – contine sub forma unei colectii toate elementele stocate în listă. Multicolumn – specifică numărul de coloane din listă.
SelectedIndices – o colectie care contine toti indicii elementelor selectate din listă.
SelectedItem – această proprietate contine elementul selectat în listă dacă selectia este simplă, respectiv primul elemen selectat din listă în cazul selectiei multiple.
SelectedItems – o colectie care contine elementele selectate din listă.
Sorted – dacă această proprietate este true, elementele vor fi afişate în listă în ordine alfabetică.
CheckedIndices – o colectie care contine indicii elementelor din listă care au caseta checkbox bifată su în stare nedeterminată (doar pentru CheckedListBox).
CheckedItems – o colectie care contine elementele din listă care au caseta checkbox bifată su în stare nedeterminată (doar pentru CheckedListBox).
CheckOnClick – dacă acaestă proprietate este true, starea unui element se schimbă când asupra lui se efectuează click.

Câteva din metodele clasei:

ClearSelected() – şterge toate selectiile (nu elementele selectatae!) din listă.

FindString() – caută primul string care începe cu şirul specificat ca parametru în lista.
GetSelected() – returnează o valoare care specifică dacă un element este selectat.
SetSelected() – setează sau şterge selectarea unui element.
GetItemChecked() – returnează o valoare care indică faptul că checkbox-ul asociat unui element este bifat (doar pentru CheckedListBox).
GetItemCheckState() – returnează o valoare care indică starea casetei checkbox asociată elementului (doar pentru CheckedListBox).
SetItemChecked() – setează starea casetei checkbox a elemenetului specificat într-una din stările posibile (doar pentru CheckedListBox).
SetItemCheckState()–Setează starea unui element (doar pentru CheckedListBox).

Câteva evenimente:

ItemCheck – se produce când starea de selectare a unui element se schimbă.

SelectedItemChanged – se produce la schimbarea indexului elementelor selectate.

Lucrarea de laborator

Uitilizati două controale GroupBox pentru care modificati proprietatea Text în Ingrediente disponibile, respectiv Ingrediente selectate, două controale CheckedListBox cu proprietatea Name Lst şi respectiv Ldr şi un control Button cu proprietatea Text ->. De asemenea, pentru lista din stânga setati proprietatea CheckOnClick la true, pentr a putea bifa elementele selectate. Se adăuga ingredientele în lista din stânga. Să adăugăm următoarele ingrediente: Faina, Lapte, Oua, Zahar, Lamai, Rom, Frisca, Vanilie, Stafide, Ciocolata, Zahar, Pudra, Drojdie, Gem, Cafea, Scortisoara. Aveti 2 posibilităti de adăugare: fie la prioprietatea Items a obiectului Lst, completând lista, fie prin cod, cu ajutorul unor instrucŢiuni de forma
… Lst.Items.Add(„Faina”);

La apăsarea butonului, se trec elementele selectate în lista din dreapta. Pentru aceasta se selectează cu dublu click butonul şi se editează functia:

private void button1_Click(object sender, EventArgs e)
{
if (Lst.CheckedItems.Count > 0)
{
Ldr.Items.Clear();
foreach (string item in Lst.CheckedItems)
{
Ldr.Items.Add(item.ToString());
}
for (int i = 0; i < Lst.Items.Count; i++) Lst.SetItemChecked(i, false);
}
}

EFECT : Se numără întâi elementele selectate în lista din stânga
(Lst.CheckedItems.Count). Dacă există elemente selctate, se şterge lista din dreapta. Apoi, fiecare element selctat în lista din stânga (foreach (string item in Lst.CheckedItems)) este adăugat (după convertirea la şir de caractere!) în lista din dreapta. Apoi, proprietatea Checked este resetată pentru toate obiectele din colecŢia listei din stânga.

TEMA
1. Afisati igredientele din stanga in ordine alfabetica.
2. Setati prin program un element.

Despre scoalamultimedia
la 3 click distanta :)

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s

%d blogeri au apreciat asta: