Co je Combobox Control?
Ovládací prvek combobox vám pomůže zobrazit rozevírací seznam s mnoha položkami. Vidíte to jako kombinaci textového pole, do kterého uživatel zadává text, a rozevíracího seznamu, ze kterého si uživatel vybere položku. Všimněte si, že combobox zobrazuje jednu položku najednou.
V tomto kurzu jazyka Visual Basic se naučíte,
- Co je Combobox Control?
- Vytvoření Comboboxu
- Přidávání položek do Comboboxu
- Výběr položek Combobox
- Načítání hodnot Combobox
- Odebírání položek Combobox
- Vazba DataSource
- Událost SelectedIndexChanged
Vytvoření Comboboxu
ComboBox lze vytvořit následujícím způsobem:
Krok 1) Vytvořte novou aplikaci.
Krok 2) Přetáhněte ovládací prvek combobox ze sady nástrojů do formuláře.
Vytvořili jste ovládací prvek combobox.
Přidávání položek do Comboboxu
Nyní, když jsme vytvořili kombinovaný modul, si ukážeme, jak do něj přidávat položky.
Poklepejte na ovládací prvek combobox, který jste přidali. Budete přesunuti z karty Návrh na kartu s kódem.
Chcete-li přidat položku do ovládacího prvku combobox, použijeme vlastnost Items. Ukážeme to přidáním dvou položek do kombinovaného pole, Muž a Žena:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Můžeme se také rozhodnout přidat položky do kombinovaného pole v době návrhu z okna Vlastnosti. Tady jsou kroky:
Krok 1) Otevřete kartu design a klikněte na ovládací prvek combobox.
Krok 2) Přesuňte se do okna Vlastnosti a zobrazte možnost Položky.
Krok 3) Klikněte na
… Nachází se napravo od (Sbírka).Krok 4) Uvidíte nové okno. Zde byste měli přidat položky do kombinovaného pole, jak je znázorněno níže:
Krok 5) Po dokončení zadávání položek klikněte na tlačítko OK.
Krok 6) Klikněte na tlačítko Start na horním panelu nástrojů a klikněte na ikonu rozevíracího seznamu na kombinovaném modulu.
Položky byly úspěšně přidány do ovládacího prvku combobox.
Výběr položek Combobox
Možná budete muset nastavit výchozí položku, která bude vybrána při načtení formuláře. Toho lze dosáhnout pomocí metody SelectedItem (). Chcete-li například nastavit výchozí vybrané pohlaví na Muž, můžete použít následující příkaz:
ComboBox1.SelectedItem = "Male"
Když spustíte kód, ovládací prvek combobox by měl vypadat takto:
Načítání hodnot Combobox
Vybranou položku můžete získat ze svého kombinovaného pole. To lze provést pomocí vlastnosti text. Ukážeme to pomocí výše uvedeného kombinovaného pole se dvěma položkami, tj. Muž a Žena. Postupujte podle níže uvedených kroků:
Krok 1) Poklepáním na kombinovaný panel otevřete kartu s kódem VB.NET.
Krok 2) Přidejte následující 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) Klepnutím na tlačítko Start na panelu nástrojů spustíte kód. Měli byste dostat následující formulář:
Krok 4) Klikněte na rozevírací tlačítko a vyberte své pohlaví. V mém případě. Vyberu Muž a dostanu následující:
Zde je snímek obrazovky s kódem:
Vysvětlení kódu:
- Vytváření třídy s názvem Form1. Třída bude veřejně přístupná, protože její modifikátor přístupu byl nastaven na Veřejný.
- Spuštění dílčího postupu s názvem ComboBox1_SelectedIndexChanged. To se vygeneruje automaticky, když dvakrát kliknete na ovládací prvek combobox na kartě design. Tento dílčí postup se vyvolá, když vyberete položku z kombinovaného pole. Objekt sd As odkazuje na objekt, který vyvolal událost, zatímco událost As EventArgs má data události s.
- Vytváří se celé číslo řetězce s názvem var_gender.
- Nastavení hodnoty proměnné var_gender na položku, která je vybrána v kombinovaném poli.
- Tisk hodnoty proměnné var_gender na MesageBox.
- Konec dílčího postupu ComboBox1_SelectedIndexChanged.
- Konec třídy Form1.
Odebírání položek Combobox
Je možné, že ze svého kombinovaného boxu odeberete položku. Můžete toho dosáhnout dvěma způsoby. Můžete použít buď index položky, nebo název položky.
Při použití indexu položek byste měli použít vlastnost Items.RemoveAt (), jak je znázorněno níže:
ComboBox1.Items.RemoveAt(1)
Ve výše uvedeném příkladu odstraňujeme položku umístěnou v indexu 1 kombinovaného pole. Všimněte si, že indexy komboboxu začínají na indexu 0, což znamená, že výše uvedený příkaz odstraní druhou položku komboboxu.
Chcete-li odebrat položku pomocí jejího názvu, měli byste použít vlastnost Items.Remove (), jak je znázorněno níže:
ComboBox1.Items.Remove("Female")
Výše uvedený kód by měl z ComboBox1 odebrat položku s názvem Žena.
Vazba DataSource
ComboBox lze naplnit z datové sady. Zvažte níže uvedený dotaz SQL:
select emp_id, emp_name from employees;
Zdroj dat můžete vytvořit v programu a poté jej pomocí následujícího kódu svázat:
comboBox1.DataSource = ds.Tables(0)comboBox1.ValueMember = "emp_id"comboBox1.DisplayMember = "emp_name"
To vám poskytne snadný způsob naplnění ovládacího prvku combobox daty, aniž byste museli psát každou jednotlivou položku.
Událost SelectedIndexChanged
Tento typ události se vyvolá, když změníte vybranou položku ve vašem kombinovaném modulu. Je to událost, kterou byste měli použít, když potřebujete implementovat akci při změně vybrané položky kombinovaného pole. Ukážeme to na příkladu:
Krok 1) Vytvořte novou aplikaci Window Forms.
Krok 2) Poté musíte do formuláře přetáhnout dva ovládací prvky kombinovaného pole.
Krok 3) Poklepáním do formuláře otevřete kartu kódu. Zadejte následující 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čítko Start na horní liště spustíte kód. Měli byste získat následující výstup:
Krok 5) Klikněte na rozevírací tlačítko na prvním kombinovaném boxu a vyberte Muž. Přesuňte kurzor myši do druhého kombinovaného pole a klikněte na jeho rozevírací tlačítko. Zobrazit dostupné položky:
Krok 6) Přesuňte se do prvního kombinovaného pole a zvolte Žena. Přejděte do druhého kombinovaného pole a podívejte se na dostupné položky:
Zde je snímek obrazovky s kódem:
Vysvětlení kódu:
- Vytváření třídy s názvem Form1.
- Začátek dílčího postupu s názvem Form1_Load (). To se spustí po načtení formuláře. Objekt sd sd odkazuje na objekt, který vyvolal událost, zatímco systém As EventArgs má data události.
- Přidání položky Muži do ComboBox1.
- Přidání položky Ženy do ComboBox1.
- Konec dílčího postupu Form1_Load ().
- Začátek dílčího postupu s názvem ComboBox1_SelectedIndexChanged (). To se vyvolá, když je položka vybrána v prvním kombinovaném poli. Odesílatel jako objekt odkazuje na objekt, který vyvolal událost, zatímco e As EventArgs má data události.
- Udělejte ComboBox2 prázdný, vymažte z něj všechny položky.
- Vytvoření podmínky. Kontrola, zda je vybraná položka v ComboBox1 muži.
- Přidejte položku Nicholas do ComboBox2, pokud je splněna výše uvedená podmínka, tj. Položka vybraná v ComboBox1 je Muž.
- Když je splněna výše uvedená podmínka, přidejte položku John do ComboBox2, tj. Položka vybraná v ComboBox1 je Muži.
- Vytvoření podmínky. Kontrola, zda je vybraná položka na ComboBox1 samice.
- Když je splněna výše uvedená podmínka, přidejte položku Alice do ComboBox2, tj. Položka vybraná v ComboBox1 je Ženy.
- Když je splněna výše uvedená podmínka, přidejte položku Grace do ComboBox2, tj. Položka vybraná v ComboBox1 je Ženy.
- Konec bloku If.
- Konec dílčího postupu ComboBox1_SelectedIndexChanged ().
- Konec třídy Form1.
souhrn
- ComboBox je vytvořen přetažením z panelu nástrojů a přetažením do formuláře.
- Poskytuje nám způsob, jak uživateli představit řadu možností.
- Můžeme nastavit výchozí položku, která má být vybrána v ComboBoxu při načtení formuláře.
- Událost SelectedIndexChanged nám pomáhá určit akci, která se má provést, když je v kombinovaném poli vybrána konkrétní položka.