Bu yazımızda CheckedListbox kontrolünü ve özelliklerini inceleyerek CheckedListbox kontrolünü kullanarak bir örnek oluşturacağız. CheckedListbox içindeki değerleri işaretlenebilir liste şeklinde görüntüleyen bir nesnedir.
CheckedListbox kontrolü içindeki işaretlenmiş yada işaretlenmemiş olan tüm elemanlara index numarası kullanılarak erişilebilir. CheckedListbox kontrolüne ait bazı özellikler ve metotlar şunlardır.
Items: CheckedListbox içerisindeki elemanları temsil eder. Items özelliği ile listbox’ ta kullanılan Add, Remove, RemoveAt, Count, Insert, Clear, Contains metotları kullanılabilmektedir. Bu metotların ne işe yaradığını kısaca açıklamak gerekirse;
Add: Eleman ekleme,
Remove: Belirtilen elemanı silme,
RemoveAt: Belirtilen index numaralı elemanı silme,
Count: Eleman sayısını öğrenme,
Insert: Belirtilen değeri listenin istenilen bir yerine ekleme,
Clear: İçeriğin tümünü temizleme olaylarını gerçekleştirir.
CheckedItems: Bu özellik işaretlenmiş elemanları temsil eder. Count ve CopyTo metotlarına sahiptir.
Bir elemanı işaretli duruma getirmek yada işaretsiz duruma getirmek için ise SetItemChecked metodu kullanılmaktadır.
Kullanımı:
SetItemChecked (index değeri, true yada false) şeklindedir. İkinci parametrede yer alan true/false değerini açıklamak gerekirse;
true değeri verildiğinde belirtilen index numaralı eleman işaretlenir.
false değeri verildiğinde ise belirtilen index numaralı elemanın işareti kaldırılır.
Şimdi CheckedListbox kontrolünün kullanımını görmek amacıyla basit bir örnek oluşturalım. Örneğimiz için Formumuza 1 adet CheckedListbox, 1 adet ListBox, 3 adet Button ve 1 adet Label ekleyelim.
CheckedListbox kontrolünün içeriğine eleman eklemek içinaşağıdaki yöntem kullanılabilir. Ya da kodla eklemek isterseniz aşağıdaki gibi bir kod kullanabilirsiniz.
1 2 3 | checkedListBox1.Items.Add("PHOTOSHOP"); |
Form tasarımını tamamladıktan sonra ve elemanları ekledikten sonra kod kısmına geçiyoruz. Formumuzda bulunan Tümünü Seç butonu CheckedListbox kontrolündeki tüm elemanların seçilmesini sağlayacak. Bu button için kodlarımız şu şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 11 | private void button1_Click(object sender, EventArgs e) { int toplam=checkedListBox1.Items.Count; for(int i=0;i<toplam;i++) { checkedListBox1.SetItemChecked(i, true); } label1.Text = toplam + " adet eleman seçildi."; } |
Seçimi Kaldır butonu yukarıdaki Button’un tersi olarak yani elemanların tümünün işaretsiz olmasını sağlayacak şekilde çalışacak. Bu Button için kodlarımız ise şu şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 | private void button2_Click(object sender, EventArgs e) { int toplam = checkedListBox1.Items.Count; for (int i = 0; i < toplam; i++) { checkedListBox1.SetItemChecked(i, false); } } |
Son olark Seçilenleri Aktar butonuna geçiyoruz. Burada CheckedListbox kontrolünde işaretli olan elemanların ListBox’ a aktarılmasını sağlayacağız. Kodlarımız aşağıdaki gibi olacaktır.
1 2 3 4 5 6 7 8 9 10 | private void button3_Click(object sender, EventArgs e) { for(int i=0;i<checkedListBox1.CheckedItems.Count;i++) { listBox1.Items.Add(checkedListBox1.CheckedItems[i]); } } |
Seçili elemanların sayısı ve diğer Button’lara ait kodlarımızın tamamı aşağıdaki şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Checkedlstbox_1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { int toplam=checkedListBox1.Items.Count; for(int i=0;i<toplam;i++) { checkedListBox1.SetItemChecked(i, true); } label1.Text = toplam + " adet eleman seçildi."; } private void button2_Click(object sender, EventArgs e) { int toplam = checkedListBox1.Items.Count; for (int i = 0; i < toplam; i++) { checkedListBox1.SetItemChecked(i, false); } } private void button3_Click(object sender, EventArgs e) { for(int i=0;i<checkedListBox1.CheckedItems.Count;i++) { listBox1.Items.Add(checkedListBox1.CheckedItems[i]); } } private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e) { label1.Text = checkedListBox1.CheckedItems.Count + " eleman seçildi"; } } } |
peki CheckedListBox içindeki bir çok seçtiğim microsoft acess veri tabına nasıl kayıt ederim
public void KayitEkle()
{
try
{
ArsaBilgileriTablosu.BaglantiAc();
string Sorgu = “insert into arsabilgeleritablosu (AltYapi) Values(@AltYapi)”;
OleDbCommand EkleKomut = new OleDbCommand(Sorgu, ArsaBilgileriTablosu.Baglanti);
EkleKomut.Parameters.AddWithValue(“@AltYapi”, clbAltyapı.???)
if (EkleKomut.ExecuteNonQuery() == 1)
MessageBox.Show(“kayıt eklendi”, “yeni kayıt”);
ArsaBilgileriTablosu.Baglanti.Close();
}
catch (Exception Hata)
{
MessageBox.Show(Hata.Message, “Yeni kayıt hata penceresi”);
}
}
https://hizliresim.com/zvYD1N
checklistbox da bir çok veriyi access nasıl kayıt edilir
clear ı örneklendirmemişsiniz
checkedListBox1_SelectedIndexChanged atlındaki label1.Text = checkedListBox1.CheckedItems.Count + ” eleman seçildi”; doğru olarak çalışmıyor.