📘 6.3 – ListBox ile Çoklu Veri İşlemi
🔹 Açıklama:
ListBox
kontrolü, birden fazla öğe seçimini destekleyerek kullanıcıya aynı anda çoklu işlem yapma imkânı tanır. Bu özellik sayesinde veriler tek tek değil, topluca kontrol edilebilir, silinebilir veya başka bir kontrol kutusuna aktarılabilir.
Bu bölümde öğrenciler, çoklu seçim (MultiSelect) özelliğini aktif hale getirerek:
- Aynı anda birden fazla veriyi seçebilmeyi
- Seçilen veriler üzerinde işlem yapabilmeyi
- Seçilen verileri başka listeye taşıyabilmeyi
- Seçilenleri silme veya taşıma gibi işlemleri gerçekleştirmeyi öğrenecekler
📍 Kullanım Alanları:
- Çoklu görev düzenleme
- Seçilen ürünleri sepete aktarma
- Toplu silme işlemleri
- Liste içinde filtrelenmiş verileri başka bir listeye alma
- Öğrenci, ürün, sipariş gibi çoklu kayıt işlemleri
🎯 Kazanımlar:
ListBox.SelectionMode
özelliğini tanıma (MultiExtended)- Birden fazla öğeyle işlem yapma alışkanlığı
- Seçilenleri listeleme, silme veya taşıma gibi gelişmiş işlevler
- Daha fazla kullanıcı kontrolü ve arayüz hakimiyeti
- Uygulamalarda pratikliği ve üretkenliği artırma
🧪 6.3 – ListBox ile Çoklu Veri İşlemi: Uygulamalı 5 Örnek
📌 Örnek 1: Çoklu Seçim ile Öğeleri Gösterme
🎯 Amaç:
Kullanıcının birden fazla öğe seçmesini sağlamak ve seçilenleri MessageBox
ile göstermek.
🎨 Form Elemanları:
lstSecimler
(ListBox –SelectionMode
özelliğiMultiExtended
olmalı)btnGoster
(Button)
💻 Kod:
private void btnGoster_Click(object sender, EventArgs e)
{
string secilenler = "";
foreach (var item in lstSecimler.SelectedItems)
{
secilenler += item.ToString() + Environment.NewLine;
}
MessageBox.Show("Seçilen Öğeler:\n" + secilenler);
}
📝 Açıklama:
Seçilen öğeler döngüyle gezilir ve kullanıcıya tek seferde gösterilir.
📌 Örnek 2: Seçilenleri Silme
🎯 Amaç:
ListBox’taki birden fazla seçilen öğeyi topluca silmek.
🎨 Form Elemanları:
lstSilinecekler
,btnTopluSil
💻 Kod:
private void btnTopluSil_Click(object sender, EventArgs e)
{
// Seçilen öğeler silineceği için sondan başlanmalı
for (int i = lstSilinecekler.SelectedIndices.Count - 1; i >= 0; i--)
{
lstSilinecekler.Items.RemoveAt(lstSilinecekler.SelectedIndices[i]);
}
}
📝 Açıklama:
ListBox’tan öğe silerken, sıra kayması olmaması için sondan başa doğru gidilir.
📌 Örnek 3: Seçilenleri Başka ListBox’a Taşıma
🎯 Amaç:
Seçilen verileri başka bir ListBox’a aktarmak.
🎨 Form Elemanları:
lstKaynak
,lstHedef
,btnTasi
💻 Kod:
private void btnTasi_Click(object sender, EventArgs e)
{
foreach (var item in lstKaynak.SelectedItems)
{
if (!lstHedef.Items.Contains(item))
{
lstHedef.Items.Add(item);
}
}
// Seçilenleri kaynak listeden silelim
for (int i = lstKaynak.SelectedIndices.Count - 1; i >= 0; i--)
{
lstKaynak.Items.RemoveAt(lstKaynak.SelectedIndices[i]);
}
}
📝 Açıklama:
Veri önce hedefe kopyalanır, ardından kaynaktan temizlenir.
📌 Örnek 4: Seçilenleri Etiketle (Label ile)
🎯 Amaç:
Kullanıcının seçtiği verileri Label
kontrolünde virgüllü biçimde göstermek.
🎨 Form Elemanları:
lstEtiketlenecek
,btnEtiketle
,lblSonuc
💻 Kod:
private void btnEtiketle_Click(object sender, EventArgs e)
{
List<string> secilenler = new List<string>();
foreach (var item in lstEtiketlenecek.SelectedItems)
{
secilenler.Add(item.ToString());
}
lblSonuc.Text = "Seçilenler: " + string.Join(", ", secilenler);
}
📝 Açıklama:
Kullanıcının yaptığı seçimler tek bir Label
kontrolünde özetlenir.
📌 Örnek 5: Seçilenleri Raporla (Toplam Sayı)
🎯 Amaç:
Kaç öğenin seçildiğini ve toplamda kaç öğe olduğunu göstermek.
🎨 Form Elemanları:
lstRapor
,btnRapor
,lblRapor
💻 Kod:
private void btnRapor_Click(object sender, EventArgs e)
{
int secilen = lstRapor.SelectedItems.Count;
int toplam = lstRapor.Items.Count;
lblRapor.Text = $"Seçilen: {secilen} / Toplam: {toplam}";
}
📝 Açıklama:
Kullanıcıya liste üzerinde yaptığı seçimlerin raporu verilir.
✅ Özet:
Bu uygulamalarla öğrenciler:
ListBox
ile çoklu seçim yapmayı- Seçilenleri aynı anda taşıma, silme, etiketleme gibi işlemlerle veri yönetimini
- Kullanıcıya toplu işlem yaptırma becerilerini
- Arayüzde veri kontrolünü artırmayı öğrenmiş olur
Pingback : A'DAN Z'YE NTP - İÇİNDEKİLER - Hasan TANDOĞAN