VB.Net KombinasyonuBox EXAMPLE ile kontrol

โšก Akฤฑllฤฑ ร–zet

komboBox VB.Net'te bir Windows Form denetimi, metin kutusunu aรงฤฑlฤฑr liste ile birleลŸtirerek kullanฤฑcฤฑnฤฑn tek bir รถฤŸe seรงmesine veya bir รถฤŸe yazmasฤฑna olanak tanฤฑr ve formda yer tasarrufu saฤŸlar.

  • ๐ŸŽฏ Amaรง: Kullanฤฑcฤฑnฤฑn bir deฤŸer seรงebileceฤŸi veya yazabileceฤŸi bir aรงฤฑlฤฑr liste gรถsterin.
  • โž• ร–ฤŸe ekle: ร–zellikler penceresinde veya รงalฤฑลŸma zamanฤฑnda Items.Add kullanarak aรงฤฑlฤฑr listeyi doldurun.
  • ๐Ÿ” SeรงtiฤŸiniz metni okuyun: SelectedItem, SelectedIndex ve Text, kullanฤฑcฤฑnฤฑn seรงtiฤŸi deฤŸeri dรถndรผrรผr.
  • ๐Ÿ—„๏ธ BaฤŸlama verileri: Veri kรผmesinden satฤฑrlarฤฑ yรผklemek iรงin DataSource, DisplayMember ve ValueMember'ฤฑ ayarlayฤฑn.
  • ๐Ÿ”” DeฤŸiลŸiklikleri tespit et: Seรงilen รถฤŸe deฤŸiลŸtiฤŸinde SelectedIndexChanged olayฤฑ tetiklenir.
  • ๐Ÿค– Yapay zekรข yardฤฑmฤฑ: GitHub Copilot ve Visual Studio IntelliCode Combo yazBox Siz yazarken iลŸleyiciler devreye girer.

VB.Net KombinasyonuBox Control

Combobox Kontrolรผ Nedir?

Combobox denetimi, birรงok รถฤŸe iรงeren bir aรงฤฑlฤฑr liste gรถrรผntรผlemenize yardฤฑmcฤฑ olur. Bunu, bir kullanฤฑcฤฑnฤฑn metin girdiฤŸi bir metin kutusu ve bir kullanฤฑcฤฑnฤฑn bir รถฤŸe seรงtiฤŸi bir aรงฤฑlฤฑr listenin birleลŸimi olarak gรถrรผn. Combobox'ฤฑn bir seferde bir รถฤŸe gรถsterdiฤŸini unutmayฤฑn.

Bir Combobox OluลŸturma

Bir KombinasyonBox aลŸaฤŸฤฑdaki gibi oluลŸturulabilir:

Adฤฑm 1) Yeni bir uygulama oluลŸturun.

Adฤฑm 2) Araรง kutusundan bir aรงฤฑlฤฑr liste denetimini forma sรผrรผkleyin.

VB.Net araรง kutusundan sรผrรผkle bฤฑrakฤฑlan aรงฤฑlฤฑr liste denetimi Windows Form

Bir combobox kontrolรผ oluลŸturmuลŸ olacaksฤฑnฤฑz.

Combobox'a ร–ฤŸe Ekleme

Artฤฑk bir combobox oluลŸturduฤŸumuza gรถre, iรงine รถฤŸelerin nasฤฑl ekleneceฤŸini gรถsterelim.

Double EklediฤŸiniz combobox kontrolรผne tฤฑklayฤฑn. Tasarฤฑm sekmesinden kod sekmesine taลŸฤฑnacaksฤฑnฤฑz.

Bir combobox denetimine bir รถฤŸe eklemek iรงin Items รถzelliฤŸini kullanฤฑrฤฑz. Bunu combobox'a Erkek ve Kadฤฑn olmak รผzere iki รถฤŸe ekleyerek gรถsterelim:

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

Ayrฤฑca, ร–zellikler penceresinden tasarฤฑm zamanฤฑnda combobox'a รถฤŸeler eklemeyi seรงebiliriz. ฤฐลŸte adฤฑmlar:

Adฤฑm 1) Tasarฤฑm sekmesini aรงฤฑn ve aรงฤฑlฤฑr liste denetimine tฤฑklayฤฑn.

Adฤฑm 2) ร–zellikler penceresine gidin ve ร–ฤŸeler seรงeneฤŸini inceleyin.

Adฤฑm 3) (Koleksiyon) ifadesinin saฤŸฤฑnda bulunan โ€ฆ simgesine tฤฑklayฤฑn.

VB.Net'te Items.Add metodunu kullanarak kod รผzerinden combobox'a รถฤŸe ekleme

VB.Net ร–zellikler penceresi, aรงฤฑlฤฑr liste รถฤŸeleri koleksiyonu dรผzenleyicisini aรงฤฑyor.

4. Adฤฑm) Yeni bir pencere aรงฤฑlacaktฤฑr. AลŸaฤŸฤฑda gรถsterildiฤŸi gibi, aรงฤฑlฤฑr listeye รถฤŸeler eklemek iรงin burayฤฑ kullanmalฤฑsฤฑnฤฑz:

Dize Koleksiyonu Dรผzenleyici, Erkek ve Kadฤฑn aรงฤฑlฤฑr menรผ รถฤŸelerini listeliyor.

Adฤฑm 5) ฤฐลŸlem tamamlandฤฑktan sonraping ร–ฤŸeleri onayladฤฑktan sonra Tamam dรผฤŸmesine tฤฑklayฤฑn.

Adฤฑm 6) รœst araรง รงubuฤŸundan BaลŸlat dรผฤŸmesine tฤฑklayฤฑn ve aรงฤฑlฤฑr kutudaki aรงฤฑlฤฑr menรผ simgesine tฤฑklayฤฑn.

VB.Net aรงฤฑlฤฑr kutusu, รงalฤฑลŸma zamanฤฑnda varsayฤฑlan รถฤŸe olarak Erkek'in seรงili olduฤŸunu gรถsteriyor.

ร–ฤŸeler combobox denetimine baลŸarฤฑyla eklendi.

Combobox ร–ฤŸelerini Seรงme

Form yรผklendiฤŸinde seรงilecek varsayฤฑlan รถฤŸeyi ayarlamanฤฑz gerekebilir. Bunu SelectedItem() metoduyla yapabilirsiniz. ร–rneฤŸin, varsayฤฑlan seรงili cinsiyeti Erkek olarak ayarlamak iรงin aลŸaฤŸฤฑdaki ifadeyi kullanabilirsiniz:

ComboBox1.SelectedItem = "Male"

Kodu รงalฤฑลŸtฤฑrdฤฑฤŸฤฑnฤฑzda combobox denetiminin aลŸaฤŸฤฑdaki gibi olmasฤฑ gerekir:

VB.Net formu, Erkek ve Kadฤฑn seรงeneklerini iรงeren aรงฤฑlฤฑr listeyi gรถrรผntรผlรผyor.

Combobox DeฤŸerlerini Alma

Aรงฤฑlฤฑr listenizden seรงili รถฤŸeyi alabilirsiniz. Bunu, metin รถzelliฤŸini kullanarak yapabilirsiniz. Bunu, Erkek ve Kadฤฑn olmak รผzere iki รถฤŸe iรงeren yukarฤฑdaki aรงฤฑlฤฑr listemizi kullanarak gรถsterelim. AลŸaฤŸฤฑdaki adฤฑmlarฤฑ izleyin:

) 1 Adฤฑm Double VB.Net kodunu iรงeren sekmeyi aรงmak iรงin aรงฤฑlฤฑr menรผye tฤฑklayฤฑn.

Adฤฑm 2) AลŸaฤŸฤฑdaki kodu ekleyin:

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

3. Adฤฑm) Kodu รงalฤฑลŸtฤฑrmak iรงin araรง รงubuฤŸundaki BaลŸlat dรผฤŸmesine tฤฑklayฤฑn. AลŸaฤŸฤฑdaki formu gรถrmelisiniz:

Code VB.Net combobox SelectedIndexChanged olay iลŸleyicisinin ekran gรถrรผntรผsรผ

4. Adฤฑm) Aรงฤฑlฤฑr menรผ dรผฤŸmesine tฤฑklayฤฑn ve cinsiyetinizi seรงin. Benim durumumda, Erkek'i seรงiyorum ve aลŸaฤŸฤฑdaki sonucu alฤฑyorum:

VB.Net mesaj kutusu, seรงilen aรงฤฑlฤฑr kutu รถฤŸesinin metnini gรถsteriyor: Erkek

ฤฐลŸte kodun ekran gรถrรผntรผsรผ:

Aรงฤฑklamasฤฑ Code:

  1. Form1 adฤฑnda bir sฤฑnฤฑf oluลŸturuluyor. EriลŸim deฤŸiลŸtiricisi Public olarak ayarlandฤฑฤŸฤฑndan sฤฑnฤฑf herkese aรงฤฑk olarak eriลŸilebilir olacaktฤฑr.
  2. Combo adlฤฑ bir alt prosedรผr baลŸlatฤฑlฤฑyor.Box1_SelectedIndexChanged. Bu, tasarฤฑm sekmesinden aรงฤฑlฤฑr kutu denetimine รงift tฤฑkladฤฑฤŸฤฑnฤฑzda otomatik olarak oluลŸturulur. Bu alt prosedรผr, aรงฤฑlฤฑr kutudan bir รถฤŸe seรงtiฤŸinizde รงaฤŸrฤฑlacaktฤฑr. sd As Object, olayฤฑ tetikleyen nesneye referans verirken, evnt As EventArgs olay verilerini iรงerir.
  3. var_gender adฤฑnda bir String deฤŸiลŸkeni oluลŸturuluyor.
  4. var_gender deฤŸiลŸkeninin deฤŸerini, aรงฤฑlan kutuda seรงili olan รถฤŸeye ayarlฤฑyoruz.
  5. var_gender deฤŸiลŸkeninin deฤŸerini bir mesajda yazdฤฑrmaBox.
  6. Kombinin SonuBox1_SelectedIndexChanged alt prosedรผrรผ.
  7. Form1 sฤฑnฤฑfฤฑnฤฑn sonu.

Combobox ร–ฤŸelerini Kaldฤฑrma

Bir รถฤŸeyi combobox'ฤฑnฤฑzdan kaldฤฑrmanฤฑz mรผmkรผndรผr. Bunu baลŸarmanฤฑn iki yolu vardฤฑr. ร–ฤŸe dizinini veya รถฤŸenin adฤฑnฤฑ kullanabilirsiniz.

ร–ฤŸe dizinini kullanฤฑrken Items.RemoveAt() รถzelliฤŸini aลŸaฤŸฤฑda gรถsterildiฤŸi gibi kullanmalฤฑsฤฑnฤฑz:

ComboBox1.Items.RemoveAt(1)

Yukarฤฑdaki รถrnekte, combobox'ฤฑn 1. dizininde bulunan รถฤŸeyi kaldฤฑrฤฑyoruz. Combobox dizinlerinin 0. dizinden baลŸladฤฑฤŸฤฑnฤฑ unutmayฤฑn, bu da yukarฤฑdaki komutun combobox'ฤฑn ikinci รถฤŸesini kaldฤฑracaฤŸฤฑ anlamฤฑna gelir.

ร–ฤŸeyi adฤฑnฤฑ kullanarak kaldฤฑrmak iรงin aลŸaฤŸฤฑda gรถsterildiฤŸi gibi Items.Remove() รถzelliฤŸini kullanmalฤฑsฤฑnฤฑz:

ComboBox1.Items.Remove("Female")

Yukarฤฑdaki kod, Kadฤฑn adlฤฑ รถฤŸeyi Kombinasyondan kaldฤฑrmalฤฑdฤฑr.Box1.

Veri KaynaฤŸฤฑnฤฑ BaฤŸlama

Bir KombinasyonBox bir Veri Kรผmesinden doldurulabilir. AลŸaฤŸฤฑda verilen SQL Sorgusunu gรถz รถnรผnde bulundurun:

select emp_id, emp_name from employees; 

Bir programda veri kaynaฤŸฤฑ oluลŸturabilir ve ardฤฑndan onu baฤŸlamak iรงin aลŸaฤŸฤฑdaki kodu kullanabilirsiniz:

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

Bu, her bir รถฤŸeyi ayrฤฑ ayrฤฑ yazmak zorunda kalmadan, aรงฤฑlฤฑr kutunuzun denetimini verilerle doldurmanฤฑn kolay bir yolunu saฤŸlayacaktฤฑr.

SelectedIndexChanged olayฤฑ

Programฤฑnฤฑzฤฑn, kullanฤฑcฤฑnฤฑn yeni bir deฤŸer seรงtiฤŸi anda tepki vermesini sฤฑklฤฑkla isteyeceksiniz.

Bu tรผr olay, birleลŸik kutunuzdaki seรงili รถฤŸeyi deฤŸiลŸtirdiฤŸinizde รงaฤŸrฤฑlฤฑr. BirleลŸik kutunuzdaki seรงili รถฤŸede bir deฤŸiลŸiklik olduฤŸunda bir eylem uygulamanฤฑz gerektiฤŸinde kullanmanฤฑz gereken olaydฤฑr. Bunu bir รถrnek kullanarak gรถsterelim:

Adฤฑm 1) Yeni bir tane oluลŸturun Windows Form BaลŸvurusu.

Adฤฑm 2) Bundan sonra, forma iki adet aรงฤฑlฤฑr liste (combobox) kontrolรผ sรผrรผkleyip bฤฑrakmanฤฑz gerekiyor.

VB.Net'te yan yana yerleลŸtirilmiลŸ iki aรงฤฑlฤฑr liste kontrolรผ. Windows Form

) 3 Adฤฑm Double Kod sekmesini aรงmak iรงin formun iรงine tฤฑklayฤฑn. AลŸaฤŸฤฑdaki kodu girin:

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

Adฤฑm 4) Kodu รงalฤฑลŸtฤฑrmak iรงin รผst รงubuktan BaลŸlat dรผฤŸmesine tฤฑklayฤฑn. AลŸaฤŸฤฑdaki รงฤฑktฤฑyฤฑ almalฤฑsฤฑnฤฑz:

Form_Load sฤฑrasฤฑnda ilk aรงฤฑlฤฑr kutu Erkekler ve Kadฤฑnlar ile doldurulur.

Adฤฑm 5) ฤฐlk aรงฤฑlฤฑr kutudaki aรงฤฑlฤฑr menรผ dรผฤŸmesine tฤฑklayฤฑn ve Erkek'i seรงin. Fare imlecini ikinci aรงฤฑlฤฑr kutuya gรถtรผrรผn ve aรงฤฑlฤฑr menรผ dรผฤŸmesine tฤฑklayฤฑn. Mevcut รถฤŸeleri gรถrรผn:

Erkekler seรงildikten sonra Nicholas ve John'u gรถsteren ikinci aรงฤฑlฤฑr menรผ.

Adฤฑm 6) ฤฐlk aรงฤฑlฤฑr menรผye gidin ve seรงin. Kadฤฑnฤฐkinci aรงฤฑlฤฑr menรผye geรงin ve mevcut รถฤŸeleri gรถrรผn:

Kadฤฑnlar seรงeneฤŸi seรงildikten sonra Alice ve Grace'i gรถsteren ikinci aรงฤฑlฤฑr menรผ.

ฤฐลŸte kodun ekran gรถrรผntรผsรผ:

Code ฤฐki aรงฤฑlฤฑr menรผ iรงeren VB.Net SelectedIndexChanged olay iลŸleyicisinin ekran gรถrรผntรผsรผ.

Aรงฤฑklamasฤฑ Code:

  1. Form1 adฤฑnda bir sฤฑnฤฑf oluลŸturuluyor.
  2. Form1_Load() adlฤฑ bir alt prosedรผrรผn baลŸlangฤฑcฤฑ. Bu, form yรผklendiฤŸinde tetiklenecektir. sd As Object, olayฤฑ tetikleyen nesneye referans verirken, evnt As EventArgs olay verilerini iรงerir.
  3. Erkekler รถฤŸesini Kombine eklemeBox1.
  4. DiลŸi eลŸyasฤฑnฤฑ Kombineye eklemeBox1.
  5. Form1_Load() alt prosedรผrรผnรผn sonu.
  6. Combo adlฤฑ bir alt prosedรผrรผn baลŸlangฤฑcฤฑBox1_SelectedIndexChanged(). Bu, ilk aรงฤฑlan kutuda bir รถฤŸe seรงildiฤŸinde รงaฤŸrฤฑlacaktฤฑr. Gรถnderici As Object, olayฤฑ baลŸlatan nesneye baลŸvururken e As EventArgs olay verilerine sahiptir.
  7. Kombo YapBox2 boลŸ, iรงindeki tรผm รถฤŸeleri temizleyin.
  8. Bir koลŸul yaratmak. Seรงilen รถฤŸenin Combo'da olup olmadฤฑฤŸฤฑ kontrol ediliyorBox1 tanesi Erkek.
  9. Nicholas eลŸyasฤฑnฤฑ Kombineye ekleBox2 yukarฤฑdaki koลŸul doฤŸru olduฤŸunda, yani Combo'da seรงilen รถฤŸeBox1'i Erkek.
  10. John รถฤŸesini Kombineye ekleBox2 yukarฤฑdaki koลŸul doฤŸru olduฤŸunda, yani Combo'da seรงilen รถฤŸeBox1 tanesi Erkek.
  11. Bir koลŸul yaratmak. Seรงilen รถฤŸenin Combo'da olup olmadฤฑฤŸฤฑ kontrol ediliyorBox1'i Kadฤฑndฤฑr.
  12. Alice eลŸyasฤฑnฤฑ Kombineye ekleBox2 yukarฤฑdaki koลŸul doฤŸru olduฤŸunda, yani Combo'da seรงilen รถฤŸeBox1'i Kadฤฑndฤฑr.
  13. Grace รถฤŸesini Kombine ekleBox2 yukarฤฑdaki koลŸul doฤŸru olduฤŸunda, yani Combo'da seรงilen รถฤŸeBox1'i Kadฤฑndฤฑr.
  14. If bloฤŸunun sonu.
  15. Kombinin SonuBox1_SelectedIndexChanged() alt prosedรผrรผ.
  16. Form1 dersinin sonu.

SSS

Bir KombinasyonBox Ok iลŸaretine tฤฑklanana kadar listeyi gizleyerek yer tasarrufu saฤŸlar ve yazฤฑlฤฑ giriลŸ kabul edebilir. Bir ListeBox Tรผm รถฤŸeleri aynฤฑ anda gรถsterir ve yalnฤฑzca seรงim yapฤฑlmasฤฑna izin verir.

DropDownStyle, davranฤฑลŸฤฑ belirler: DropDown (varsayฤฑlan), kullanฤฑcฤฑnฤฑn serbest metin yazmasฤฑna olanak tanฤฑr; DropDownList, giriลŸi listedeki รถฤŸelerle sฤฑnฤฑrlandฤฑrฤฑr; Simple ise listeyi her zaman aรงฤฑk tutar.

SelectedIndex sฤฑfฤฑr tabanlฤฑ konumu, SelectedItem o satฤฑra baฤŸlฤฑ nesneyi ve Text ise kullanฤฑcฤฑnฤฑn yazdฤฑฤŸฤฑ metin de dahil olmak รผzere dรผzenleme kutusundaki metni dรถndรผrรผr.

ร‡aฤŸrฤฑ KombinasyonuBox1. Items.Clear() kullanarak listeyi boลŸaltฤฑn. Dรผzenleme kutusunda gรถsterilen metni de sฤฑfฤฑrlamak iรงin ardฤฑndan Combo ifadesini kullanฤฑn.Box1.SelectedIndex = -1 veya Combo'yu ayarlaBox1.Metin = Dize.BoลŸ.

ร–zellikler penceresinde veya kodda (Aรงฤฑlฤฑr Menรผ) DropDownStyle รถzelliฤŸini DropDownList olarak ayarlayฤฑn.Box1.DropDownStyle = ComboBoxStyle.DropDownList). Kullanฤฑcฤฑ daha sonra yalnฤฑzca listede zaten bulunan รถฤŸeleri seรงebilir.

TextChanged olayฤฑ, kullanฤฑcฤฑ metin kutusu bรถlรผmรผnรผ dรผzenlediฤŸi sฤฑrada tetiklenir. SelectedIndexChanged olayฤฑ ise yalnฤฑzca aรงฤฑlฤฑr listedeki vurgulanan รถฤŸe fare, klavye veya kod aracฤฑlฤฑฤŸฤฑyla deฤŸiลŸtiฤŸinde tetiklenir.

Evet. GitHub Yardฤฑmcฤฑ Pilotu Dรผz ฤฐngilizce bir yorumu tam bir SelectedIndexChanged veya DataBindings bloฤŸuna dรถnรผลŸtรผrรผr. Yayฤฑnlamadan รถnce oluลŸturulan kodu daima gรถzden geรงirin.ping.

Evet. Visual Studio 2026, Copilot ile birlikte รงalฤฑลŸฤฑr. IntellistudioCode Combo'nun tรผm satฤฑrฤฑ kapsayan, baฤŸlamฤฑ dikkate alan tamamlama iลŸlemleri iรงinBox ร–zellikler ve etkinlikler.

Bu yazฤฑyฤฑ ลŸu ลŸekilde รถzetleyin: