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.
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.
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.
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:
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.
รฤ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:
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:
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:
ฤฐลte kodun ekran gรถrรผntรผsรผ:
Aรงฤฑklamasฤฑ Code:
- 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.
- 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.
- var_gender adฤฑnda bir String deฤiลkeni oluลturuluyor.
- var_gender deฤiลkeninin deฤerini, aรงฤฑlan kutuda seรงili olan รถฤeye ayarlฤฑyoruz.
- var_gender deฤiลkeninin deฤerini bir mesajda yazdฤฑrmaBox.
- Kombinin SonuBox1_SelectedIndexChanged alt prosedรผrรผ.
- 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.
) 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:
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:
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:
ฤฐลte kodun ekran gรถrรผntรผsรผ:
Aรงฤฑklamasฤฑ Code:
- Form1 adฤฑnda bir sฤฑnฤฑf oluลturuluyor.
- 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.
- Erkekler รถฤesini Kombine eklemeBox1.
- Diลi eลyasฤฑnฤฑ Kombineye eklemeBox1.
- Form1_Load() alt prosedรผrรผnรผn sonu.
- 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.
- Kombo YapBox2 boล, iรงindeki tรผm รถฤeleri temizleyin.
- Bir koลul yaratmak. Seรงilen รถฤenin Combo'da olup olmadฤฑฤฤฑ kontrol ediliyorBox1 tanesi Erkek.
- Nicholas eลyasฤฑnฤฑ Kombineye ekleBox2 yukarฤฑdaki koลul doฤru olduฤunda, yani Combo'da seรงilen รถฤeBox1'i Erkek.
- John รถฤesini Kombineye ekleBox2 yukarฤฑdaki koลul doฤru olduฤunda, yani Combo'da seรงilen รถฤeBox1 tanesi Erkek.
- Bir koลul yaratmak. Seรงilen รถฤenin Combo'da olup olmadฤฑฤฤฑ kontrol ediliyorBox1'i Kadฤฑndฤฑr.
- Alice eลyasฤฑnฤฑ Kombineye ekleBox2 yukarฤฑdaki koลul doฤru olduฤunda, yani Combo'da seรงilen รถฤeBox1'i Kadฤฑndฤฑr.
- Grace รถฤesini Kombine ekleBox2 yukarฤฑdaki koลul doฤru olduฤunda, yani Combo'da seรงilen รถฤeBox1'i Kadฤฑndฤฑr.
- If bloฤunun sonu.
- Kombinin SonuBox1_SelectedIndexChanged() alt prosedรผrรผ.
- Form1 dersinin sonu.













