A listák nagy helyet foglalnak a formokon, és az általuk felkínált elemek nem bővíthetőek a felhasználó által. Ezen problémák megoldására használhatjuk a combobox osztályt. Ez egyesíti a szerkesztő mező (edit) és a lenyíló lista tulajdonságait. Első pillantásra egy TextBox-ot láthatunk a jobb oldalán egy nyilacskával.
Feladata: Adatok legördülő ablakban történő megjelenítése
Megjelenés
BackColor |
a ComboBox háttérszíne |
Cursor |
a kurzor típusa, ami megjelenik a vezérlő fölött, amikor az egérkurzort fölé mozgatjuk |
DropDownStyle |
a megjelenést és a működést vezérli |
Font |
szöveg megjelenítésére használt betűtípus |
ForeColor |
előtérszín (pl. betűszín) |
Text |
a vezérlőben látható szöveg |
Viselkedés
AllowDrop |
meghatározza, hogy a vezérlő fogadhat-e „Fogd-és-vidd” értesítéseket |
ContextMenu |
helyi menü, ami a vezérlőn jobb egérgombbal történő kattintásra jelenik meg |
DrawMode |
A ComboBox megrajzolási módját vezérli |
DropDownWidth |
a legördülő ablak szélessége pixelben |
Enabled |
azt jelzi, hogy a ComboBox engedélyezett, vagy nem |
IntegralHeight |
true, ha a listarészlet csak teljes elemeket tartalmazhat, különben false |
ItemHeight |
a ComboBox egy elemének magassága pixelben |
MaxDropDownItems |
A legördülő listában egyszerre látható bejegyzések maximális száma |
MaxLength |
a ComboBox beviteli részébe írható karakterek maximális száma |
Sorted |
Meghatározza, hogy a vezérlő tartalma rendezett vagy sem |
TabIndex |
az elem helyét adja meg a TAB sorrendben |
TabStop |
megmutatja, hogy az elem kiválasztható-e a TAB billentyű használatával |
Visible |
a vezérlő látható vagy nem |
Adat
DataSource |
a listát jelöli, ahonnan a vezérlő az elemeit veszi |
DisplayMember |
az adatforrás egy tulajdonsága, mezője, amit a comboboxban meg kívánunk jeleníteni |
Items |
Collection, a ComboBox elemeit tartalmazza |
Tag |
Tetszőleges célokra használható egész értékű mező |
Tervezés
Name |
A vezérlő neve |
Locked |
megmutatja, hogy a vezérlő átméretezhető, átmozgatható-e |
Modifiers |
A vezérlő láthatósági szintjét jelöli |
Anchor |
Horgony; a vezérlő mely szélei rögzítettek az őt tartalmazó konténer széleihez képest |
Dock |
megmutatja, hogy a vezérlő mely szélei vannak összekapcsolva az őt tartalmazó elem szélével |
Location |
Beállítja vagy lekérdezi a vezérlő bal felső sarkának az őt tartalmazó elem bal felső sarkától mért relatív távolságát |
SelectedValue |
Kiválasztott elem értéke |
Események
Click |
kattintáshoz kötődő esemény |
DoubleClick |
Dupla kattintáshoz kapcsolódó esemény |
DrawItem |
akkor következik be, amikor egy bizonyos elemet vagy területet meg kell rajzolni |
DropDown |
azt jelzi, hogy a ComboBox menüje legördült |
DropDownStyleChanged |
jelzi, hogy a DropDownStyle tulajdonság megváltozott |
HelpRequested |
A felhasználó segítséget kér a vezérlőről |
MeasureItem |
akkor következik be, amikor egy bizonyos elem magasságát ki kell számítani |
SelectedIndexChanged |
akkor következik be, amikor a ComboBox ’SelectedIndex’ tulajdonsága megváltozik, azaz újabb elem kerül kijelölésre |
StyleChanged |
jelzi, ha megváltozott a vezérlő stílusa |
SystemColorsChanged |
bekövetkezik, amikor a rendszerszínek megváltoznak |
A következő események mindegyike egy tulajdonság megváltozását jelzi:
BackColorChanged |
háttérszín |
ContextMenuChanged |
helyzetérzékeny menü |
CursorChanged |
kurzor |
DataSourceChanged |
adatforrás |
DisplayMemberChanged |
megjelenítendő adattag-forrás |
DockChanged |
igazítás |
EnabledChanged |
engedélyezettségi állapot |
FontChanged |
betűtípus |
ForeColorChanged |
előtérszín (betűszín) |
LocationChanged |
helyzet (Lásd Location) |
ParentChanged |
szülő |
SelectedValueChanged |
kiválasztott érték |
SizeChanged |
méret |
TabIndexChanged |
tab-sorrendbeli hely |
TabStopChanged |
TAB-bal történő kiválaszthatóság beállítása |
TextChanged |
szöveg |
VisibleChanged |
vizuális láthatóság |
A kritikus tulajdonság a DropDownStyle lehetséges értékei:
Simple |
Szerkeszthető mező, a lista mindig látszik |
DropDown |
Szerkeszthető mező, a lista lenyitható. (alapértelmezett) |
DropDownList |
Nem szerkeszthető a mező, a lista lenyitható |
A listához hasonlóan a comboboxban is az Items tulajdonság tárolja a lista elemeit. Ez a tulajdonság egy ObjectCollection típus. Így kezelése a szokásos metódusok használatával lehetséges.
Count |
Indexer, az elemek számát adja vissza |
Add |
Új elem felvétele a listához |
Insert |
Új elem beszúrása a listába |
Remove |
Elem törlése |
A felhasználó által kiválasztott elemet a SelectedItem tulajdonságon keresztül érjük el, ami egy objektumot ad vissza. Ha az indexére van szükségünk, akkor a SelectedIndex tulajdonságot használjuk.
Tekintsünk néhány alapműveletet a példa segítségével:
A ’Feltöltés’ gombeseménykezelője egyszerű, egész számokkal tölti fel a combobox items tulajdonságát:
for (int i=0;i<10;i++)
comboBox1.Items.Add(i.ToString());
A ’Törlés’ gomb mind a Items tárolót, mind a text mezőt törli:
comboBox1.Items.Clear();
comboBox1.Text="";
Egy egyszerű switch szerkezettel módosíthatjuk a stílusát a comboboxnak:
switch (comboBox1.DropDownStyle)
{
case ComboBoxStyle.Simple: comboBox1.DropDownStyle =
ComboBoxStyle.DropDown;
button3.Text="DropDown";
break;
case ComboBoxStyle.DropDown: comboBox1.DropDownStyle =
ComboBoxStyle.DropDownList;
button3.Text="DropDownList";
break;
case ComboBoxStyle.DropDownList: comboBox1.DropDownStyle =
ComboBoxStyle.Simple;
button3.Text="Simple";
break;
}