Co to jest Combobox Control?
Kontrolka Combobox pomaga wyświetlić listę rozwijaną z wieloma elementami. Postrzegaj to jako połączenie pola tekstowego, w którym użytkownik wprowadza tekst, oraz listy rozwijanej, z której użytkownik wybiera element. Zauważ, że combobox pokazuje jeden element na raz.
W tym samouczku dotyczącym języka Visual Basic dowiesz się,
- Co to jest Combobox Control?
- Tworzenie Combobox
- Dodawanie elementów do Combobox
- Wybieranie elementów Combobox
- Pobieranie wartości Combobox
- Usuwanie elementów Combobox
- Powiązanie DataSource
- Zdarzenie SelectedIndexChanged
Tworzenie Combobox
ComboBox można utworzyć w następujący sposób:
Krok 1) Utwórz nową aplikację.
Krok 2) Przeciągnij kontrolkę combobox z przybornika do formularza.
Stworzysz kontrolkę combobox.
Dodawanie elementów do Combobox
Teraz, gdy stworzyliśmy kombinację, pokażmy, jak dodawać do niej elementy.
Kliknij dwukrotnie dodaną kontrolkę combobox. Zostaniesz przeniesiony z zakładki projektu do zakładki z kodem.
Aby dodać element do kontrolki combobox, używamy właściwości Items. Pozwól nam to zademonstrować, dodając dwa elementy do combobox, Male i Female:
ComboBox1.Items.Add("Male")ComboBox1.Items.Add("Female")
Możemy również dodać elementy do combobox w czasie projektowania z okna Właściwości. Oto kroki:
Krok 1) Otwórz kartę projektu i kliknij kontrolkę combobox.
Krok 2) Przejdź do okna Właściwości i wyświetl opcję Elementy.
Krok 3) Kliknij
… Znajdujący się po prawej stronie (Kolekcja).Krok 4) Pojawi się nowe okno. W tym miejscu powinieneś dodawać przedmioty do combobox, jak pokazano poniżej:
Krok 5) Po zakończeniu wpisywania elementów kliknij przycisk OK.
Krok 6) Kliknij przycisk Start na górnym pasku narzędzi, a następnie kliknij ikonę rozwijaną w polu combobox.
Elementy zostały pomyślnie dodane do kontrolki Combobox.
Wybieranie elementów Combobox
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 Mężczyzna, możesz użyć następującego stwierdzenia:
ComboBox1.SelectedItem = "Male"
Po uruchomieniu kodu formant combobox powinien wyglądać tak, jak pokazano poniżej:
Pobieranie wartości Combobox
Możesz pobrać wybrany przedmiot ze swojego combobox. Można to zrobić za pomocą właściwości text. Pozwól nam to zademonstrować za pomocą naszego powyższego zestawu combobox z dwoma elementami, to znaczy mężczyzną i kobietą. Wykonaj czynności podane poniżej:
Krok 1) Kliknij dwukrotnie ikonę combobox, aby otworzyć kartę z kodem VB.NET.
Krok 2) Dodaj następujący kod:
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) Kliknij przycisk Start na pasku narzędzi, aby wykonać kod. Powinieneś otrzymać następujący formularz:
Krok 4) Kliknij przycisk rozwijany i wybierz swoją płeć. W moim przypadku. Wybieram Mężczyzna i otrzymuję:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Tworzenie klasy o nazwie Form1. Klasa będzie publicznie dostępna, ponieważ jej modyfikator dostępu został ustawiony na Public.
- Rozpoczęcie procedury podrzędnej o nazwie ComboBox1_SelectedIndexChanged. Jest to generowane automatycznie po dwukrotnym kliknięciu kontrolki combobox na karcie projektu. Ta procedura podrzędna zostanie wywołana, gdy wybierzesz element z pola wyboru. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy zdarzenie As EventArgs ma dane zdarzenia.
- Tworzenie liczby całkowitej w postaci łańcucha o nazwie var_gender.
- Ustawienie wartości zmiennej var_gender na element wybrany w polu combobox.
- Drukowanie wartości zmiennej var_gender w MesageBox.
- Koniec procedury podrzędnej ComboBox1_SelectedIndexChanged.
- Koniec klasy Form1.
Usuwanie elementów Combobox
Możesz usunąć przedmiot ze swojego combobox. Możesz to osiągnąć na dwa sposoby. 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 w combobox. Zwróć uwagę, że indeksy combobox zaczynają się od indeksu 0, co oznacza, że powyższe polecenie usunie drugą pozycję z combobox.
Aby usunąć element używając jego nazwy, powinieneś użyć właściwości Items.Remove (), jak pokazano poniżej:
ComboBox1.Items.Remove("Female")
Powyższy kod powinien usunąć element o nazwie Female z ComboBox1.
Powiązanie DataSource
ComboBox można wypełnić z zestawu 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"
Zapewni to łatwy sposób zapełnienia kontrolki ComboBox danymi bez konieczności wpisywania każdego pojedynczego elementu.
Zdarzenie SelectedIndexChanged
Ten typ zdarzenia jest wywoływany, gdy zmienisz wybrany przedmiot w polu Combo. Jest to zdarzenie, którego powinieneś użyć, gdy musisz zaimplementować akcję po zmianie wybranego elementu combobox. Pokażmy to na przykładzie:
Krok 1) Utwórz nową aplikację Window Forms.
Krok 2) Następnie musisz przeciągnąć i upuścić dwie kontrolki combobox do formularza.
Krok 3) Kliknij dwukrotnie wewnątrz formularza, aby otworzyć kartę kodu. Wpisz następujący kod:
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) Kliknij przycisk Start na górnym pasku, aby uruchomić kod. Powinieneś otrzymać następujące dane wyjściowe:
Krok 5) Kliknij przycisk rozwijany na pierwszym polu combobox i wybierz Mężczyzna. Przenieś kursor myszy na drugi panel combo i kliknij jego przycisk rozwijania. Zobacz dostępne pozycje:
Krok 6) Przejdź do pierwszego combobox i wybierz Female. Przejdź do drugiego combobox i zobacz dostępne przedmioty:
Oto zrzut ekranu kodu:
Wyjaśnienie kodu:
- Tworzenie klasy o nazwie Form1.
- Początek procedury podrzędnej o nazwie Form1_Load (). Zostanie to uruchomione po załadowaniu formularza. Obiekt sd As odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy system As EventArgs ma dane zdarzenia.
- Dodawanie pozycji Mężczyźni do ComboBox 1.
- Dodawanie elementu Kobiety do ComboBox 1.
- Koniec podprocedury Form1_Load ().
- Początek procedury podrzędnej o nazwie ComboBox1_SelectedIndexChanged (). Zostanie to wywołane, gdy przedmiot zostanie wybrany na pierwszym polu kombinowanym. Nadawca As Object odwołuje się do obiektu, który wywołał zdarzenie, podczas gdy e As EventArgs ma dane zdarzenia.
- Spraw, aby ComboBox2 był pusty, usuń z niego wszystkie elementy.
- Tworzenie warunku. Sprawdzanie, czy wybrany element w ComboBox1 to mężczyźni.
- Dodaj pozycję Nicholas do ComboBox2, gdy powyższy warunek jest spełniony, to znaczy, że pozycja wybrana na ComboBox1 to Mężczyzna.
- Dodaj element John do ComboBox2, gdy powyższy warunek jest spełniony, to znaczy, że element wybrany w ComboBox1 to mężczyźni.
- Tworzenie warunku. Sprawdzanie, czy wybrany element w ComboBox1 to kobiety.
- Dodaj element Alice do ComboBox2, gdy powyższy warunek jest spełniony, to znaczy, że element wybrany w ComboBox1 to Kobiety.
- Dodaj Grace elementu do ComboBox2, gdy powyższy warunek jest spełniony, to znaczy element wybrany w ComboBox1 to Kobiety.
- Koniec bloku If.
- Koniec procedury podrzędnej ComboBox1_SelectedIndexChanged ().
- Koniec klasy Form1.
Podsumowanie
- ComboBox jest tworzony przez przeciągnięcie go z przybornika i upuszczenie w formularzu.
- Daje nam sposób zaprezentowania użytkownikowi wielu opcji.
- Możemy ustawić domyślny element, który ma być wybrany w ComboBox po załadowaniu formularza.
- Zdarzenie SelectedIndexChanged pomaga nam określić akcję, która ma zostać podjęta, gdy określony element zostanie wybrany w combobox.