Kombinace VB.NetBox Ovládání pomocí EXAMPLE
⚡ Chytré shrnutí
ComboBox ve VB.Net je Windows Ovládací prvek Formuláře, který kombinuje textové pole s rozevíracím seznamem a umožňuje uživateli vybrat jednu položku nebo ji napsat, čímž šetří místo ve formuláři.

Co je Combobox Control?
Ovládací prvek combobox vám pomůže zobrazit rozevírací seznam s mnoha položkami. Podívejte se na to jako na kombinaci textového pole, do kterého uživatel zadává text, a rozevíracího seznamu, ze kterého uživatel vybírá položku. Všimněte si, že pole se seznamem zobrazuje vždy jednu položku.
Vytvoření Comboboxu
KombinaceBox lze vytvořit následovně:
Krok 1) Vytvořte novou aplikaci.
Krok 2) Přetáhněte ovládací prvek pole se seznamem z panelu nástrojů do formuláře.
Budete mít vytvořený ovládací prvek combobox.
Přidávání položek do Comboboxu
Nyní, když jsme vytvořili combobox, ukažme si, jak do něj přidat položky.
Double klepněte na ovládací prvek pole se seznamem, 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. Ukažme si to přidáním dvou položek do comboboxu, Muž a Žena:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
Můžeme se také rozhodnout přidat položky do comboboxu v době návrhu z okna Vlastnosti. Zde jsou kroky:
Krok 1) Otevřete kartu návrh a klikněte na ovládací prvek pole se seznamem.
Krok 2) Přejděte do okna Vlastnosti a zobrazte možnost Položky.
Krok 3) Klikněte na … umístěné napravo od (Kolekce).
Krok 4) Zobrazí se nové okno. Zde byste měli přidat položky do rozbalovacího seznamu, jak je znázorněno níže:
Krok 5) Jakmile je hotovo s typing položky, klikněte na tlačítko OK.
Krok 6) Klikněte na tlačítko Start v horním panelu nástrojů a poté na ikonu rozbalovací nabídky v rozbalovacím seznamu.
Položky byly úspěšně přidány do ovládacího prvku pole se seznamem.
Výběr položek Comboboxu
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 pole se seznamem by měl vypadat následovně:
Načítání hodnot Comboboxu
Vybranou položku můžete získat ze svého vyskakovacího pole. To lze provést pomocí vlastnosti text. Ukažme si to na výše uvedeném vyskakovacím poli se dvěma položkami, a to mužem a ženou. Postupujte podle následujících kroků:
Krok 1) Double Kliknutím na rozbalovací seznam otevřete kartu s kódem VB.Net.
Krok 2) Přidejte následující kód:
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim var_gender As String var_gender = ComboBox1.Text MessageBox.Show(var_gender) End Sub End Class
Krok 3) Klikněte na tlačítko Start na panelu nástrojů pro spuštění kódu. Měli byste dostat následující formulář:
Krok 4) Klikněte na rozbalovací tlačítko a vyberte své pohlaví. V mém případě jsem vybral muž a zobrazí se mi následující:
Zde je snímek obrazovky kódu:
Vysvětlení Code:
- Vytvoření třídy s názvem Form1. Třída bude veřejně přístupná, protože její modifikátor přístupu byl nastaven na Public.
- Spuštění podprocedury s názvem ComboBox1_SelectedIndexChanged. Toto se automaticky vygeneruje po dvojitém kliknutí na ovládací prvek pole se seznamem na kartě návrhu. Tato dílčí procedura se vyvolá při výběru položky ze pole se seznamem. Objekt sd As odkazuje na objekt, který událost vyvolal, zatímco objekt evnt As EventArgs obsahuje data události.
- Vytvoření řetězcové proměnné s názvem var_gender.
- Nastavení hodnoty proměnné var_gender na položku, která je vybrána v poli se seznamem.
- Výpis hodnoty proměnné var_gender do zprávyBox.
- Konec kombaBox1_SelectedIndexChanged dílčí postup.
- Konec třídy Form1.
Odebrání položek Comboboxu
Je možné odebrat položku z pole se seznamem. Existují dva způsoby, jak toho můžete dosáhnout. 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 uvedeno níže:
ComboBox1.Items.RemoveAt(1)
Ve výše uvedeném příkladu odstraňujeme položku umístěnou na indexu 1 pole se seznamem. Všimněte si, že indexy pole se seznamem začínají na indexu 0, což znamená, že výše uvedený příkaz odstraní druhou položku pole se seznamem.
Chcete-li odstranit položku pomocí jejího názvu, měli byste použít vlastnost Items.Remove(), jak je uvedeno níže:
ComboBox1.Items.Remove("Female")
Výše uvedený kód by měl odstranit položku s názvem Female z ComboBox1.
Vazba DataSource
KombinaceBox lze naplnit z datové sady. Zvažte dotaz SQL uvedený níže:
select emp_id, emp_name from employees;
Můžete vytvořit zdroj dat v programu a poté jej svázat pomocí následujícího kódu:
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 pole se seznamem daty, aniž byste museli zadávat každou jednotlivou položku.
Událost SelectedIndexChanged
Často budete chtít, aby váš program reagoval v okamžiku, kdy uživatel vybere novou hodnotu.
Tento typ události se vyvolá, když změníte vybranou položku v poli se seznamem. Je to událost, kterou byste měli použít, když potřebujete implementovat akci při změně na vybrané položce comboboxu. Ukažme si to na příkladu:
Krok 1) Vytvořte nový Windows Aplikace formulářů.
Krok 2) Poté je třeba do formuláře přetáhnout dva ovládací prvky se seznamem.
Krok 3) Double kliknutím do formuláře otevřete kartu pro kód. Zadejte následující kód:
Public Class Form1 Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Males") ComboBox1.Items.Add("Females") End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.SelectedItem = "Males" Then ComboBox2.Items.Add("Nicholas") ComboBox2.Items.Add("John") ElseIf ComboBox1.SelectedItem = "Females" Then ComboBox2.Items.Add("Alice") ComboBox2.Items.Add("Grace") End If End Sub End Class
Krok 4) Klikněte na tlačítko Start v horní liště pro spuštění kódu. Měli byste dostat následující výstup:
Krok 5) Klikněte na rozbalovací tlačítko v prvním rozbalovacím seznamu a vyberte Muž. Přesuňte kurzor myši na druhý rozbalovací seznam a klikněte na jeho rozbalovací tlačítko. Podívejte se na dostupné položky:
Krok 6) Přejděte na první rozbalovací seznam a vyberte ŽenaPřejděte do druhého rozbalovacího seznamu a podívejte se na dostupné položky:
Zde je snímek obrazovky kódu:
Vysvětlení Code:
- Vytvoření třídy s názvem Form1.
- Začátek podprocedury s názvem Form1_Load(). Ta bude spuštěna po načtení formuláře. Objekt sd As odkazuje na objekt, který událost vyvolal, zatímco objekt evnt As EventArgs obsahuje 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 bude vyvoláno, když je položka vybrána v prvním poli se seznamem. Odesílatel As Object odkazuje na objekt, který vyvolal událost, zatímco e As EventArgs má data události.
- Vytvořte ComboBox2 prázdné, vymažte z něj všechny položky.
- Vytvoření podmínky. Kontrola, zda je vybraná položka na ComboBox1 jsou muži.
- Přidejte předmět Nicholas do ComboBox2, když platí výše uvedená podmínka, tj. položka vybraná v ComboBox1 je Muž.
- Přidejte položku John do ComboBox2, když platí výše uvedená podmínka, tj. položka vybraná v ComboBox1 jsou muži.
- Vytvoření podmínky. Kontrola, zda je vybraná položka na ComboBox1 jsou ženy.
- Přidejte předmět Alice do ComboBox2, když platí výše uvedená podmínka, tj. položka vybraná v ComboBox1 jsou ženy.
- Přidejte položku Grace do ComboBox2, když platí výše uvedená podmínka, tj. položka vybraná v ComboBox1 jsou ženy.
- Konec bloku If.
- Konec kombaBoxDílčí postup 1_SelectedIndexChanged().
- Konec třídy Form1.













