Kombinacja VB.NetBox Kontrola z PRZYKŁADEM

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) Stwórz nową aplikację.

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

Tworzenie pola kombi

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

Krok 4)Zobaczysz nowe okno. Tutaj powinieneś dodać elementy do pola kombi, jak pokazano poniżej:

Dodawanie elementów do pola kombi

Krok 5) Po zakończeniu wpisywania elementów kliknij przycisk OK.

Krok 6) Kliknij przycisk Start na górnym pasku narzędzi i kliknij ikonę rozwijanej listy na polu kombi.

Dodawanie elementów do pola kombi

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:

Wybieranie elementów pola kombi

Pobieranie wartości pola kombi

Możesz pobrać wybrany element z pola kombi. Można to zrobić za pomocą właściwości text. Pokażmy to za pomocą naszego pola kombi powyżej z dwoma elementami, tj. Male i Female. Wykonaj poniższe kroki:

Krok 1) Double kliknij pole kombi, aby otworzyć kartę VB.NET kod.

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. Powinieneś otrzymać następujący formularz:

Pobieranie wartości pola kombi

Krok 4) Kliknij przycisk rozwijanego menu i wybierz swoją płeć. W moim przypadku wybieram Male i otrzymuję następujące informacje:

Pobieranie wartości pola kombi

Oto zrzut ekranu kodu:

Pobieranie wartości pola kombi

Wyjaśnienie kodu:

  1. Tworzenie klasy o nazwie Form1. Klasa będzie dostępna publicznie, ponieważ jej modyfikator dostępu został ustawiony na Publiczny.
  2. Rozpoczęcie podprocedury o nazwie ComboBox1_SelectedIndexChanged. Jest generowany automatycznie, gdy klikniesz dwukrotnie kontrolkę combobox na karcie design. Ta podprocedura zostanie wywołana, gdy wybierzesz element z combobox. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy zdarzenie As EventArgs ma dane zdarzenia s.
  3. Tworzenie ciągu całkowitego o nazwie var_gender.
  4. Ustawienie wartości zmiennej var_gender na element wybrany w polu kombi.
  5. Drukowanie wartości zmiennej var_gender w wiadomościBox.
  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

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 nową aplikację Windows Forms.

Krok 2) Następnie musisz Przeciągnij i upuść dwa kontrolki pola kombi do formularza.

Zdarzenie SelectedIndexChanged

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:

Zdarzenie SelectedIndexChanged

Krok 5) Kliknij przycisk rozwijanego menu w pierwszym polu kombi i wybierz Male. Przesuń kursor myszy do drugiego pola kombi i kliknij jego przycisk rozwijanego menu. Zobacz dostępne pozycje:

Zdarzenie SelectedIndexChanged

Krok 6) Przejdź do pierwszego pola kombi i wybierz Female. Przejdź do drugiego pola kombi i zobacz dostępne pozycje:

Zdarzenie SelectedIndexChanged

Oto zrzut ekranu kodu:

Zdarzenie SelectedIndexChanged

Wyjaśnienie kodu:

  1. Tworzenie klasy o nazwie Form1.
  2. Rozpoczęcie podprocedury o nazwie Form1_Load(). Zostanie to wywołane po załadowaniu formularza. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy system As EventArgs posiada 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.

Podsumowanie

  • KombinacjaBox tworzy się go przeciągając go z przybornika i upuszczając w formularzu.
  • Daje nam to możliwość zaprezentowania użytkownikowi wielu opcji.
  • Możemy ustawić domyślny element wybierany w ComboBox po załadowaniu formularza.
  • Zdarzenie SelectedIndexChanged pomaga nam określić akcję, która ma zostać wykonana po wybraniu konkretnego elementu w polu kombi.