Selamlar,
//Arama sonucuna göre Durum True ya da False olarak setlenecek.
bool durum = false;
//Sayac ListBox içerisinde bulunan satır sayısının değerini alır.
int sayac = listBox1.Items.Count;
string deger = null;
//Döngü Sayac kadar yani List eleman sayısı kadar döner.
for (int i = 0; i < sayac; i++)
{
//Textbox içerisine girilen değer döngü ile her bir
//ListBox elemanı içerisinde aranır.
if (listBox1.Items[i].ToString() == textBox5.Text)
{
//Eğer eşitlik var ise Durum true değerini alır.
durum = true;
//Değer değişkenine eşitik ile Listbox içerisinde bulunan değer setlenir.
deger = listBox1.Items[i].ToString();
}
}
//Eğer durum False ise eşitlik yok demektir.
if (durum == false)
{
//Bulunamadı mesajı
MessageBox.Show("Böyle bir T.C Bulunamadı!!");
}
else //Else kısmında True değerine göre hareket edilir.
{
//Yukarıda Değer değişkenine eşitliğin bulunduğu satırdaki değer atanmıştı.
//Atanan değer ListBox ın SelecteItem özelliğine setlenerek Liste üzerinden seçim yapılmaktadır.
listBox1.SelectedItem = deger;
}
Satırlamaların açıklamaları yukarıdaki gibidir.
Eğer bu kodu kullanacaksan kısa bir bilgi vermek isterim.
TC kimlik numarası unique yani benzersiz bir değerdir. Döngü ile ListBox içerisinde dönerken Listenin 100.000 satır olduğunu ve aradığın değerinde 2. satırda bulunduğu bir durumda yukarıdaki kod gereksiz yere diğer ListBox elemanları içerisinde de kontrol işlemini gerçekleştirecektir.
True ifadesini yakaladıktan sonra break ifadesi ile döngüden çıkarsan daha performanslı bir çalışma elde edebilirsin.
Örnek;
if (listBox1.Items[i].ToString() == textBox1.Text)
{
//Eğer eşitlik var ise Durum true değerini alır.
durum = true;
//Değer değişkenine eşitik ile Listbox içerisinde bulunan değer setlenir.
deger = listBox1.Items[i].ToString();
//Değer True ise döngüden çıkılır.
break;
}
Başarılar dilerim.