Visual Studio C# Örneklerimize listbox kullanım uygulaması ile devam ediyoruz, şimdi yapacağımız uygulamda listbox’a eklenen bilgilerden seçili olanların nasıl kopyalanıp, kesileceği, hafızadaki bir bilginin nasıl yapıştırılacağı ve seçme işleminin nasıl olacağını anlatmaya çalışacağım. ilk olarak aşağıdaki form tasarımını yapıyoruz.
Form üzerinde bir Listbox ve bir Menustrip ekliyoruz, menü elemanlarını ekleyebilmek için
tasarım alanında menustripin sağ köşesinde bulunan ok işaretine basıp açılan listeden edit items ve add yolunu izleyerek tasarımı oluşturabilirsiniz Kodlarımızın açıklaması ve kodlar..:
//1 Form ilk açıldığında listBox1.Items.Add ile belirtilen iller listeye ekleniyor.
//2 StringBuilder sınıfından tanımlanan değişkene for döngüsü ile listbox içinde seçili olan satırlar aktarılıyor ve daha sonra seçili olan satırlar listbox içinden siliniyor..
//3 2.madde ile aynı işlemler ama farklı olarak listbox içindeki elemanlar silinmiyor
//4 Clipboard.GetText() ile hafızadaki bilgi string bir değişkene aktarılıyor, daha sonra bu değişken içindeki bilgiler split komutu ile satır satır ayrılıyor.
//5 Listbox içindekiler satır satır seçiliyor.
//6 listBox1.Items.Clear ile temizleme işlemi yapılıyor..
//1 private void Form1_Load(object sender, EventArgs e) { listBox1.Items.Add("Amasya"); listBox1.Items.Add("Samsun"); listBox1.Items.Add("Tokat"); listBox1.Items.Add("Çorum"); listBox1.Items.Add("Ankara"); listBox1.Items.Add("Antalya"); listBox1.Items.Add("İstanbul"); listBox1.Items.Add("İzmir"); //http://www.bilisimogretmeni.com/ } //2 //Kes Menüsü İşlemleri private void kesToolStripMenuItem_Click(object sender, EventArgs e) { try { StringBuilder sb = new StringBuilder(); // Seçilen elemanları saklamak için sb isminde StringBuilder sınıfından bir değişken tanımladık. List<object> selectedItemList = new List<object>(); foreach (object row in listBox1.SelectedItems) { sb.Append(row.ToString()); sb.AppendLine(); // Seçilen Elemanları sb isimli listeye ekledik. selectedItemList.Add(row); } //http://www.bilisimogretmeni.com/ sb.Remove(sb.Length - 1, 1); Clipboard.SetData(System.Windows.Forms.DataFormats.Text, sb.ToString()); // Seçilen satıları listboxda siliyoruz.. foreach (object ln in selectedItemList) { listBox1.Items.Remove(ln); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } //2 //Kopyala Menüsü private void kopyalaToolStripMenuItem_Click(object sender, EventArgs e) { try { StringBuilder sb = new StringBuilder(); foreach (object row in listBox1.SelectedItems) { sb.Append(row.ToString()); sb.AppendLine(); } sb.Remove(sb.Length - 1, 1); Clipboard.SetData(System.Windows.Forms.DataFormats.Text, sb.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message); } } //4 //Yapıştır menüsü private void yapistirToolStripMenuItem_Click(object sender, EventArgs e) { try {//http://www.bilisimogretmeni.com/ //hafızadaki bilgiyi s isimli değişkene aktardık string s = Clipboard.GetText(); //Okunan bilgileri satır satır ayırdık string[] satirlar = s.Split('\n'); foreach (string ln in satirlar) {// Ayrılan satırları listbox'a ekliyoruz.. listBox1.Items.Add(ln.Trim()); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } //5 //Tümünü Seç private void tumunusecToolStripMenuItem_Click(object sender, EventArgs e) { try {//http://www.bilisimogretmeni.com/ listBox1.SelectedItems.Clear(); for (int i = 0; i < listBox1.Items.Count; i++) { listBox1.SetSelected(i, true); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } //6 Temizle Butonu private void temizleToolStripMenuItem_Click(object sender, EventArgs e) { listBox1.Items.Clear(); }