Kombinacja VB.NetBox Kontrola z PRZYKŁADEM

⚡ Inteligentne podsumowanie

ComboBox w VB.Net jest Windows Kontrolka formularza łącząca pole tekstowe z listą rozwijaną, umożliwiająca użytkownikowi wybranie pojedynczego elementu lub wpisanie go, oszczędzając w ten sposób miejsce w formularzu.

  • 🎯 Cel: Wyświetla listę rozwijaną, na której użytkownik wybiera lub wpisuje jedną wartość.
  • Dodaj elementy: Wypełnij pole kombi w oknie Właściwości lub za pomocą polecenia Items.Add w czasie wykonywania.
  • 🔍 Przeczytaj wybór: SelectedItem, SelectedIndex i Text zwracają wartość wybraną przez użytkownika.
  • 🗄️ Powiąż dane: Ustaw DataSource, DisplayMember i ValueMember, aby załadować wiersze z zestawu danych.
  • 🔔 Wykryj zmiany: Zdarzenie SelectedIndexChanged jest wyzwalane za każdym razem, gdy wybrany element ulegnie zmianie.
  • 🤖 Pomoc AI: GitHub Copilot i Visual Studio IntelliCode napisz ComboBox obsługi podczas pisania.

Kombinacja VB.NetBox Control:

Czym jest kontrolka Combobox?

Kontrolka combobox pomaga wyświetlić listę rozwijaną z wieloma elementami. Zobacz ją jako kombinację pola tekstowego, w którym użytkownik wprowadza tekst i listy rozwijanej, z której użytkownik wybiera element. Zwróć uwagę, że combobox wyświetla jeden element na raz.

Tworzenie pola kombi

KombinacjaBox można utworzyć w następujący sposób:

Krok 1) Utwórz nową aplikację.

Krok 2) Przeciągnij kontrolkę pola kombi z przybornika do formularza.

Kontrolka pola kombi VB.Net przeniesiona z przybornika do Windows Forma

Utworzyłeś kontrolkę pola kombi.

Dodawanie elementów do pola kombi

Teraz, gdy utworzyliśmy pole kombi, pokażemy, jak dodawać do niego elementy.

Double kliknij kontrolkę combobox, którą dodałeś. Zostaniesz przeniesiony z zakładki design do zakładki z kodem.

Aby dodać element do kontrolki combobox, używamy właściwości Items. Pokażmy to, dodając dwa elementy do combobox, Male i Female:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

Możemy również wybrać dodanie elementów do pola kombi w czasie projektowania z okna Właściwości. Oto kroki:

Krok 1) Otwórz kartę projektowania i kliknij kontrolkę pola kombi.

Krok 2) Przejdź do okna Właściwości i wyświetl opcję Elementy.

Krok 3) Kliknij … znajdujący się po prawej stronie (Kolekcja).

Dodawanie elementów do pola kombi VB.Net w kodzie za pomocą metody Items.Add

Okno Właściwości VB.Net otwierające edytor kolekcji elementów combobox

Krok 4) Zobaczysz nowe okno. W tym miejscu należy dodać elementy do pola kombi, jak pokazano poniżej:

Edytor kolekcji ciągów wyświetlający elementy typu „męski” i „żeński” w polu kombi

Krok 5) Po zakończeniu pracy z typing elementy, kliknij przycisk OK.

Krok 6) Kliknij przycisk Start na górnym pasku narzędzi i kliknij ikonę rozwijaną w polu rozwijanym.

Pole kombi VB.Net pokazujące, że pozycja Mężczyzna jest wybrana jako domyślna pozycja w czasie wykonywania

Elementy zostały pomyślnie dodane do kontrolki combobox.

Wybieranie elementów pola kombi

Może być konieczne ustawienie domyślnego elementu, który zostanie wybrany po załadowaniu formularza. Można to osiągnąć za pomocą metody SelectedItem(). Na przykład, aby ustawić domyślną wybraną płeć na Male, można użyć następującego polecenia:

ComboBox1.SelectedItem = "Male"

Po uruchomieniu kodu kontrolka combobox powinna wyglądać tak, jak pokazano poniżej:

Formularz VB.Net wyświetlający pole kombi z opcjami „Mężczyzna” i „Kobieta”

Pobieranie wartości pola kombi

Możesz pobrać wybrany element z pola kombi. Można to zrobić za pomocą właściwości tekstu. Zademonstrujmy to na przykładzie naszego pola kombi z dwoma elementami, czyli „Mężczyzna” i „Kobieta”. Wykonaj poniższe kroki:

Krok 1) Double Kliknij pole wyboru, aby otworzyć kartę z kodem VB.Net.

Krok 2) Dodaj następujący kod:

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) Kliknij przycisk Start na pasku narzędzi, aby wykonać kod. Powinien pojawić się następujący formularz:

Code zrzut ekranu programu obsługi zdarzeń SelectedIndexChanged w polu kombi VB.Net

Krok 4) Kliknij przycisk rozwijany i wybierz swoją płeć. W moim przypadku wybieram „Mężczyzna” i otrzymuję następujące informacje:

Okno komunikatu VB.Net pokazujące wybrany element pola kombi tekstowy Męski

Oto zrzut ekranu kodu:

Wyjaśnienie Code:

  1. Tworzenie klasy o nazwie Form1. Klasa będzie dostępna publicznie, ponieważ jej modyfikator dostępu został ustawiony na Publiczny.
  2. Uruchamianie podprocedury o nazwie ComboBox1_SelectedIndexChanged. Jest generowany automatycznie po dwukrotnym kliknięciu kontrolki pola kombi na karcie projektowania. Ta podprocedura zostanie wywołana po wybraniu elementu z pola kombi. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, natomiast evnt As EventArgs przechowuje dane zdarzenia.
  3. Tworzenie zmiennej typu String o nazwie var_gender.
  4. Ustawienie wartości zmiennej var_gender na element wybrany w polu kombi.
  5. Wydruk wartości zmiennej var_gender w komunikacieBox.
  6. Koniec KombinacjiBox1_SelectedIndexChanged podprocedura.
  7. Koniec klasy Form1.

Usuwanie elementów pola kombi

Możesz usunąć element z pola kombi. Istnieją dwa sposoby, aby to zrobić. Możesz użyć indeksu elementu lub nazwy elementu.

Korzystając z indeksu pozycji, należy użyć właściwości Items.RemoveAt() jak pokazano poniżej:

ComboBox1.Items.RemoveAt(1)

W powyższym przykładzie usuwamy element znajdujący się pod indeksem 1 pola kombi. Należy zauważyć, że indeksy pól kombi zaczynają się od indeksu 0, co oznacza, że ​​powyższe polecenie usunie drugi element pola kombi.

Aby usunąć element używając jego nazwy, należy użyć właściwości Items.Remove() jak pokazano poniżej:

ComboBox1.Items.Remove("Female")

Powyższy kod powinien usunąć element o nazwie Kobieta z ComboBox1.

Powiązanie źródła danych

KombinacjaBox można wypełnić ze zbioru danych. Rozważmy zapytanie SQL podane poniżej:

select emp_id, emp_name from employees; 

Możesz utworzyć źródło danych w programie, a następnie użyć następującego kodu, aby je powiązać:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

Dzięki temu będziesz mieć łatwy sposób na wypełnienie kontrolki pola kombi danymi, bez konieczności wpisywania każdego elementu z osobna.

Zdarzenie SelectedIndexChanged

Często chcesz, aby Twój program reagował w momencie, gdy użytkownik wybierze nową wartość.

Ten typ zdarzenia jest wywoływany, gdy zmieniasz wybrany element w swoim polu kombi. Jest to zdarzenie, którego powinieneś użyć, gdy musisz wdrożyć akcję po zmianie wybranego elementu pola kombi. Zademonstrujmy to na przykładzie:

Krok 1) Utwórz nowy Windows Formularze aplikacji.

Krok 2) Następnie należy przeciągnąć i upuścić dwa kontrolki typu combobox do formularza.

Dwa kontrolki typu combobox umieszczone obok siebie w środowisku VB.Net Windows Forma

Krok 3) Double kliknij wewnątrz formularza, aby otworzyć zakładkę kodu. Wprowadź następujący kod:

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) Kliknij przycisk Start na górnym pasku, aby uruchomić kod. Powinieneś otrzymać następujący wynik:

Pierwsze pole kombi wypełnione mężczyznami i kobietami w formularzu Form_Load

Krok 5) Kliknij przycisk rozwijany w pierwszym polu kombi i wybierz opcję Mężczyzna. Przesuń kursor myszy na drugie pole kombi i kliknij przycisk rozwijany. Zobacz dostępne pozycje:

Drugie pole kombi pokazujące Mikołaja i Johna po wybraniu opcji Mężczyźni

Krok 6) Przejdź do pierwszego pola wyboru i wybierz KobietaPrzejdź do drugiego pola kombi i zobacz dostępne elementy:

Drugie pole kombi pokazujące Alicję i Grace po wybraniu opcji Kobiety

Oto zrzut ekranu kodu:

Code zrzut ekranu obsługi SelectedIndexChanged w VB.Net z dwoma polami kombi

Wyjaśnienie Code:

  1. Tworzenie klasy o nazwie Form1.
  2. Rozpoczęcie podprocedury o nazwie Form1_Load(). Zostanie ona uruchomiona po załadowaniu formularza. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, natomiast obiekt evnt As EventArgs przechowuje dane zdarzenia.
  3. Dodanie elementu Male do ComboBox1.
  4. Dodanie przedmiotu Kobiety do ComboBox1.
  5. Koniec podprocedury Form1_Load().
  6. Rozpoczęcie podprocedury o nazwie ComboBox1_SelectedIndexChanged(). Zostanie wywołane, gdy element zostanie wybrany w pierwszym polu kombi. Nadawca As Object odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy e As EventArgs ma dane zdarzenia.
  7. Zrób kombinacjęBox2 pusty, usuń z niego wszystkie elementy.
  8. Tworzenie warunku. Sprawdzanie, czy wybrany element na ComboBox1 to mężczyźni.
  9. Dodaj element Nicholas do ComboBox2, gdy powyższy warunek jest spełniony, czyli element wybrany w ComboBox1 to mężczyzna.
  10. Dodaj element John do ComboBox2, gdy powyższy warunek jest spełniony, czyli element wybrany w ComboBox1 to mężczyźni.
  11. Tworzenie warunku. Sprawdzanie, czy wybrany element na ComboBox1 to kobiety.
  12. Dodaj element Alice do ComboBox2, gdy powyższy warunek jest spełniony, czyli element wybrany w ComboBox1 to kobiety.
  13. Dodaj element Grace do ComboBox2, gdy powyższy warunek jest spełniony, czyli element wybrany w ComboBox1 to kobiety.
  14. Koniec bloku If.
  15. Koniec KombinacjiBoxPodprocedura 1_SelectedIndexChanged().
  16. Zakończenie zajęć Forma 1.

FAQ

KombinacjaBox oszczędza miejsce, ukrywając listę do momentu kliknięcia strzałki i umożliwienia wprowadzenia danych. ListaBox pokazuje wszystkie elementy naraz i pozwala jedynie na wybór.

DropDownStyle wybiera zachowanie: DropDown (domyślne) pozwala użytkownikowi wpisywać dowolny tekst; DropDownList ogranicza wprowadzanie danych do elementów na liście; Simple utrzymuje listę otwartą przez cały czas.

SelectedIndex zwraca pozycję licząc od zera, SelectedItem zwraca obiekt powiązany z danym wierszem, a Text zwraca ciąg w polu edycyjnym, łącznie z tekstem wpisanym przez użytkownika.

Zadzwoń ComboBox1.Items.Clear(), aby wyczyścić listę. Aby również zresetować tekst wyświetlany w polu edycji, użyj Combo.Box1.SelectedIndex = -1 lub ustaw ComboBox1.Tekst = String.Pusty.

Ustaw właściwość DropDownStyle na DropDownList w oknie Właściwości lub w kodzie (ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList). Użytkownik może wówczas wybierać tylko elementy, które już znajdują się na liście.

Zdarzenie TextChanged jest aktywowane, gdy użytkownik edytuje fragment pola tekstowego. Zdarzenie SelectedIndexChanged jest aktywowane tylko wtedy, gdy podświetlony element na liście rozwijanej ulega zmianie, niezależnie od tego, czy jest to spowodowane myszką, klawiaturą, czy kodem.

Tak. Drugi pilot GitHub Konwertuje zwykły komentarz w języku angielskim na pełny blok SelectedIndexChanged lub DataBindings. Zawsze sprawdzaj wygenerowany kod przed wysłaniem.ping.

Tak. Visual Studio 2026 łączy Copilot z inteligencjaCode do kompletowania całej linii w ramach Combo, uwzględniającego kontekstBox właściwości i zdarzenia.

Podsumuj ten post następująco: