C# ComboBox otomatik tamamlama işlemi, Windows Form’da veri girişi yaparken işimizi bayağı kolaylaştırmaktadır. Onun için bugün ComboBox otomatik tamamlama işlemi nasıl yapılır? bu soruya cevap vereceğim. Bu konuyla ilgilenen arkadaşlar yazıyı takip etsinler.

Önce bir Windows Form oluşturunuz. Ardından bu Form’a bir adet ComboBox ekleyiniz. ComboBox’a veritabanından veri çekme kodlarını yazınız. Bende buraya kadar olan kodlarımı yazıyorum.

 

using System.Data.OleDb;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Data.accdb");
//BURASI VERİTABANI BAĞLANTISI 
DataTable tablo = new DataTable(); // tablo isiminde bir Datatable tanımladık.
private void Form1_Load(object sender, EventArgs e)
{
bag.Open();
OleDbCommand cmd = new OleDbCommand("Select * from Kayit", bag);
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
comboBox1.Items.Add(dr[1]);
}
bag.Close();
}
}
}

Form’un Load olayına yazdığım kodlar ile Access veritabanından öğrencilerin ismini ComboBox içerisine çektim.

Şimdi sıra geldi ComboBox’ın otomatik tamamlama işlemine. ComboBox’ın üzerine bir kez tıklayıp Properties penceresine geçiyoruz. AutoCompleteMode yazan yeri SuggestAppend olarak değiştiriyoruz. Ardından hemen alt tarafında bulunan, AutoCompleteSource kısmını CustomSource olarak değiştiriyoruz.

Form’un Load kısmına şu kodları yazıyoruz.

OleDbCommand kmt = new OleDbCommand();
private void Form1_Load(object sender, EventArgs e)
{
    bag.Open();
    OleDbCommand cmd = new OleDbCommand("Select * from Kayit", bag);
    OleDbDataReader dr = cmd.ExecuteReader();
    while (dr.Read()
    )
    {
        comboBox1.Items.Add(dr[1]);
    }
    kmt.Connection = bag;
    kmt.CommandText = "Select * from Kayit";
    OleDbDataReader reader = kmt.ExecuteReader();
    AutoCompleteStringCollection MyCollection = new AutoCompleteStringCollection();
    while (reader.Read())
    {
        MyCollection.Add(reader.GetString(1));
    }
    comboBox1.AutoCompleteCustomSource = MyCollection;
    bag.Close();
}

Hepsi bu kadar arkadaşlar. 3-4 satırla halledebilen bir şey. Anlamadığınız yer varsa sormaktan çekinmeyiniz. Artık sizde Form’larınızdaki ComboBox’lara otomatik tamamlama yaptırabilirsiniz. Yaptığınız bu kodlar ile ComboBox içerisine yazı yazarken bastığınız tuşa göre kayıtlar taranacak ve uygun kayıt varsa otomatik tamamlayacaktır.