C# TextBox’a Emoji Ekleme

C#’da yaptığınız uygulamalarda kullanıcının textbox’a yazı yazarken girdiği ifadelerin otomatik olarak Emoji haline dönüşmesini istiyorsanız aşağıdaki kodlar işinize yaracaktır. Hemen kısaca mantığında bahsedip kodlara geçelim, ilk olarak kullanacağımız emoji resimlerini projemizin Resource kısmına ekliyoruz.

Daha sonra bir hastable yapısı kullanarak her bir ifadeye karşılık gelecek resmi seçiyoruz, daha sonra texbox’ın TextChanged olayında yazılan karakteri kontrol edip uygun olanları değiştiriyoruz..

Hashtable ifadeler;
void ifade_Olustur()
{
ifadeler= new Hashtable(6);
ifadeler.Add(":)", TextBox_ifade.Properties.Resources._1);
ifadeler.Add(":|", TextBox_ifade.Properties.Resources._2);
ifadeler.Add(":-D", TextBox_ifade.Properties.Resources._3);
ifadeler.Add(":X", TextBox_ifade.Properties.Resources._4);
ifadeler.Add(":-P", TextBox_ifade.Properties.Resources._5);
ifadeler.Add(":O", TextBox_ifade.Properties.Resources._6);
ifadeler.Add(":(", TextBox_ifade.Properties.Resources._7);
}
//http://www.bilisimogretmeni.com
void ifade_Ekle()
{
foreach (string ifade in ifadeler.Keys)
{
while(richTextBox1.Text.Contains(ifade))
{
int ind = richTextBox1.Text.IndexOf(ifade);
richTextBox1.Select(ind, ifade.Length);
Clipboard.SetImage((Image)ifadeler[ifade]);
richTextBox1.Paste();
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
ifade_Olustur();            
}
//http://www.bilisimogretmeni.com
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
ifade_Ekle();
}

Pin It on Pinterest