Čo je Combobox Control?
Ovládací prvok combobox vám pomôže zobraziť rozbaľovací zoznam s mnohými položkami. Vidieť to ako kombináciu textového poľa, do ktorého používateľ zadáva text, a rozbaľovacieho zoznamu, z ktorého si používateľ vyberie položku. Všimnite si, že v kombinovanom poli sa zobrazuje iba jedna položka.
V tomto výučbe jazyka Visual Basic sa dozviete,
- Čo je Combobox Control?
- Vytvorenie Comboboxu
- Pridávanie položiek do Comboboxu
- Výber položiek Combobox
- Načítavajú sa hodnoty Comboboxu
- Odstraňovanie položiek Comboboxu
- Viazanie zdroja údajov
- Udalosť SelectedIndexChanged
Vytvorenie Comboboxu
ComboBox je možné vytvoriť nasledovne:
Krok 1) Vytvorte novú aplikáciu.
Krok 2) Presuňte ovládací prvok combobox z panela nástrojov do formulára.
Vytvorili ste ovládací prvok combobox.
Pridávanie položiek do Comboboxu
Teraz, keď sme vytvorili kombobox, ukážme si, ako doň pridať položky.
Dvakrát kliknite na ovládací prvok combobox, ktorý ste pridali. Presunieme sa z karty návrhu na kartu s kódom.
Na pridanie položky do ovládacieho prvku komboboxu používame vlastnosť Položky. Ukážme si to pridaním dvoch položiek do kombinovaného poľa, Muž a Žena:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Môžeme sa tiež rozhodnúť pridať položky do kombinovaného poľa v čase návrhu z okna Vlastnosti. Tu sú kroky:
Krok 1) Otvorte kartu design a kliknite na ovládací prvok combobox.
Krok 2) Prejdite do okna Vlastnosti a zobrazte možnosť Položky.
Krok 3) Kliknite na ikonu
... umiestnené napravo od (Zbierka).Krok 4) Uvidíte nové okno. To je miesto, kde by ste mali pridávať položky do komboboxu, ako je uvedené nižšie:
Krok 5) Po dokončení zadávania položiek kliknite na tlačidlo OK.
Krok 6) Kliknite na tlačidlo Štart na hornom paneli nástrojov a kliknite na rozbaľovaciu ikonu v komboboxe.
Položky boli úspešne pridané do ovládacieho prvku combobox.
Výber položiek Combobox
Možno budete musieť nastaviť predvolenú položku, ktorá sa vyberie pri načítaní formulára. Môžete to dosiahnuť pomocou metódy SelectedItem (). Napríklad na nastavenie predvoleného vybratého pohlavia na Muž môžete použiť toto vyhlásenie:
ComboBox1.SelectedItem = "Male"
Po spustení kódu by mal byť ovládací prvok komboboxu zobrazený nižšie:
Načítavajú sa hodnoty Comboboxu
Vybratú položku môžete získať vo svojom komboboxe. To je možné vykonať pomocou vlastnosti text. Ukážme to pomocou vyššie uvedeného kombinovaného poľa s dvoma položkami, a to mužským a ženským. Postupujte podľa pokynov uvedených nižšie:
Krok 1) Dvojitým kliknutím na kombobox otvorte kartu s kódom VB.NET.
Krok 2) Pridajte nasledujúci kód:
Public Class Form1Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChangedDim var_gender As Stringvar_gender = ComboBox1.TextMessageBox.Show(var_gender)End SubEnd Class
Krok 3) Kliknite na tlačidlo Štart na paneli nástrojov a vykonajte kód. Mali by ste dostať tento formulár:
Krok 4) Kliknite na rozbaľovacie tlačidlo a vyberte svoje pohlavie. V mojom prípade. Vyberiem Male a dostanem nasledujúce:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vytvára sa trieda s názvom Form1. Trieda bude verejne prístupná, pretože jej modifikátor prístupu bol nastavený na možnosť Verejné.
- Spustenie čiastkového postupu s názvom ComboBox1_SelectedIndexChanged. To sa vygeneruje automaticky, keď dvakrát kliknete na ovládací prvok combobox na karte dizajn. Tento čiastkový postup sa vyvolá, keď vyberiete položku v kombinovanom poli. Objekt sd As odkazuje na objekt, ktorý vyvolal udalosť, zatiaľ čo udalosť As EventArgs má dáta udalosti s.
- Vytvára sa celé číslo reťazca s názvom var_gender.
- Nastavenie hodnoty premennej var_gender na položku vybranú v kombinovanom poli.
- Tlač hodnoty premennej var_gender na MesageBox.
- Koniec čiastkového postupu ComboBox1_SelectedIndexChanged.
- Koniec triedy Form1.
Odstraňovanie položiek Comboboxu
Je možné, že z vášho kombinovaného boxu vyberiete položku. Môžete to dosiahnuť dvoma spôsobmi. Môžete použiť index položky alebo názov položky.
Pri používaní indexu položiek by ste mali používať vlastnosť Items.RemoveAt (), ako je uvedené nižšie:
ComboBox1.Items.RemoveAt(1)
Vo vyššie uvedenom príklade odstraňujeme položku umiestnenú v indexe 1 komboboxu. Upozorňujeme, že indexy komboboxu začínajú na indexe 0, čo znamená, že vyššie uvedený príkaz odstráni druhú položku komboboxu.
Ak chcete položku odstrániť pomocou jej názvu, mali by ste použiť vlastnosť Items.Remove (), ako je uvedené nižšie:
ComboBox1.Items.Remove("Female")
Vyššie uvedený kód by mal odstrániť položku s názvom Žena z ComboBox1.
Viazanie zdroja údajov
ComboBox je možné vyplniť z množiny údajov. Zvážte SQL dotaz uvedený nižšie:
select emp_id, emp_name from employees;
Zdroj údajov môžete vytvoriť v programe a potom ho pomocou nasledujúceho kódu spojiť:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
Takto získate jednoduchý spôsob na vyplnenie ovládacieho prvku kombobox údajmi bez toho, aby ste museli písať jednotlivé položky.
Udalosť SelectedIndexChanged
Tento typ udalosti sa vyvolá, keď zmeníte vybranú položku v kombinovanom poli. Je to udalosť, ktorú by ste mali použiť, keď potrebujete vykonať akciu pri zmene vo vybranej položke komboboxu. Ukážme to na príklade:
Krok 1) Vytvorte novú aplikáciu Window Forms.
Krok 2) Potom musíte myšou presunúť dva ovládacie prvky komboboxu do formulára.
Krok 3) Dvojitým kliknutím do vnútra formulára otvorte kartu kódu. Zadajte nasledujúci kód:
Public Class Form1Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.LoadComboBox1.Items.Add("Males")ComboBox1.Items.Add("Females")End SubPrivate Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChangedComboBox2.Items.Clear()If ComboBox1.SelectedItem = "Males" ThenComboBox2.Items.Add("Nicholas")ComboBox2.Items.Add("John")ElseIf ComboBox1.SelectedItem = "Females" ThenComboBox2.Items.Add("Alice")ComboBox2.Items.Add("Grace")End IfEnd SubEnd Class
Krok 4) Kliknutím na tlačidlo Štart na hornom paneli spustíte kód. Mali by ste dostať nasledujúci výstup:
Krok 5) Kliknite na rozbaľovacie tlačidlo v prvom kombinovanom poli a vyberte možnosť Muž. Presuňte kurzor myši na druhý kombobox a kliknite na jeho rozbaľovacie tlačidlo. Zobraziť dostupné položky:
Krok 6) Prejdite na prvý kombobox a vyberte možnosť Žena. Prejdite do druhého kombinovaného poľa a pozrite si dostupné položky:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vytvára sa trieda s názvom Form1.
- Začiatok čiastkového postupu s názvom Form1_Load (). Spustí sa to po načítaní formulára. Objekt sd As odkazuje na objekt, ktorý vyvolal udalosť, zatiaľ čo systém As EventArgs má údaje o udalosti.
- Pridanie položky Muži do ComboBoxu1.
- Pridanie položky Ženy do ComboBox1.
- Koniec podprocesu Form1_Load ().
- Začiatok čiastkového postupu s názvom ComboBox1_SelectedIndexChanged (). Toto sa vyvolá, keď je položka vybraná v prvom kombinovanom poli. Odosielateľ ako objekt odkazuje na objekt, ktorý vyvolal udalosť, zatiaľ čo e As EventArgs má údaje o udalosti.
- Vytvorte ComboBox2 prázdny, vymažte z neho všetky položky.
- Vytvorenie podmienky. Kontroluje sa, či je vybratá položka v ComboBox1 Male.
- Pridajte položku Nicholas do ComboBox2, ak je splnená vyššie uvedená podmienka, to znamená, že položka vybraná v ComboBox1 je Male.
- Pridajte položku John do ComboBox2, ak je splnená vyššie uvedená podmienka, to znamená, že položka vybraná v ComboBox1 je Muži.
- Vytvorenie podmienky. Kontroluje sa, či je vybratá položka v ComboBox1 žena.
- Keď je splnená vyššie uvedená podmienka, pridajte položku Alice do ComboBox2, to znamená, že položka vybraná v ComboBox1 je Ženy.
- Keď je splnená vyššie uvedená podmienka, pridajte položku Grace do ComboBox2, to znamená, že položka vybraná v ComboBox1 je Ženy.
- Koniec bloku If.
- Koniec podprocesu ComboBox1_SelectedIndexChanged ().
- Koniec triedy Form1.
Zhrnutie
- ComboBox sa vytvorí pretiahnutím z panela nástrojov a umiestnením do formulára.
- Poskytuje nám spôsob, ako používateľovi predstaviť množstvo možností.
- Môžeme nastaviť, aby sa pri načítaní formulára vybrala predvolená položka v ComboBoxe.
- Udalosť SelectedIndexChanged nám pomáha určiť akciu, ktorá sa má vykonať, keď je v kombinovanom poli vybratá konkrétna položka.