C# Otomatik Tamamlama (AutoComplete) Kullanımı

Merhaba arkadaşlar bugün sizlere C Sharp’ta otomatik tamamlamayı anlatacağım.

Projelerimizde comboBox nesnemize eklediğimiz Items’lar bazen çok fazla olabiliyor ve kullanıcılar comboBox’tan seçim yaparken sıkıntıyla karşılaşabiliyorlar. AutoComplete, kullanıcı bir veri girerken otomatik olarak girilen ilk karakter ile birlikte açılır kutu yardımıyla benzer verilerin listelenmesini sağlar. Facebook ve Google’ın da kullanmış olduğu AutoComplete özelliğini birlikte inceleyelim.

Genellikle web sayfalarında gördüğümüz metin kutularının otomatik tamamlama özelliğini C#’ta yaptığımız masaüstü uygulamarımıza da eklemek mümkündür.

Microsoft Visual Studio’yu açıp File -> New -> Project’e tıklıyoruz.
Microsoft Visual Studio’yu açıp File -> New -> Project’e tıklıyoruz.
Gelen pencerede Form Application’ı seçip projenize vereceğiniz ismi Name kısmına yazıp OK butonuna basıp projemizi oluşturuyoruz.
Gelen pencerede Windows Form Application’ı seçip projenize vereceğiniz ismi Name kısmına yazıp OK butonuna basıp projemizi oluşturuyoruz.
Form ekranımıza bir adet comboBox nesnesi ekleyip comboBox nesnemize sağ tıklayıp "Properties" kısmına tıklıyoruz.
Form ekranımıza bir adet comboBox nesnesi ekleyip comboBox nesnemize sağ tıklayıp “Properties” kısmına tıklıyoruz.
Kod ekranında nesneleri daha rahat kontrol edebilmek için comboBox'ın Name'ini "comboBox_Isim" olarak değiştiriyoruz.
Kod ekranında nesneleri daha rahat kontrol edebilmek için comboBox’ın Name’ini “comboBox_Isim” olarak değiştiriyoruz.
Form'un Load kısmına gereken kodlamayı yapıyoruz.
Form’un Load kısmına gereken kodlamayı yapıyoruz.
Uygulamayı başlattığımızda kullanıcı “A” harfine bastığı an sadece “K” ile başlayan item'lar comboBox’ta kalacaktır.
Uygulamayı başlattığımızda kullanıcı “A” harfine bastığı an sadece “K” ile başlayan item’lar comboBox’ta kalacaktır.

Projenin kaynak kodları:

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 AutoComplete
{
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

 private void Form1_Load(object sender, EventArgs e)
 {
 List<string> isimler = new List<string>(); //string collection tanımlayıp içine string değerler atıyoruz
 isimler.Add("Akif");
 isimler.Add("Adem");
 isimler.Add("Arif");
 isimler.Add("Bora");
 isimler.Add("Emre");
 isimler.Add("Halil");
 isimler.Add("İbrahim");
 isimler.Add("Ömer");
 isimler.Add("Seda");

 comboBox_Isim.DataSource = isimler; //comboBox'un veri kaynağını oluşturduğumuz listeye eşitliyoruz
 comboBox_Isim.SelectedIndex = -1;

 //AutoComplete özelliğini kullanabilmemiz için AutoCompleteStringCollection nesnesi türetiyoruz
 AutoCompleteStringCollection collection=new AutoCompleteStringCollection();
 //Oluşturmuş AutoCompleteStringCollection'u listemiz içerisindeki değerleri foreach döngümüz yardımı ile aktarıyoruz
 foreach (string item in isimler) 
 {
 collection.Add(item);
 }
 //AutoCompleteStringCollection'u comboBox'un AutoCompleteCustomSource özelliğine atıyoruz
 comboBox_Isim.AutoCompleteCustomSource = collection;
 //comboBox'un otomatik tamamlama türünü seçiyoruz
 comboBox_Isim.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
 //comboBox'un AutoCompleteSource özelliğinin CustomSource türünde olacağını belirtiyoruz
 comboBox_Isim.AutoCompleteSource = AutoCompleteSource.CustomSource; 
 }
 }
}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir