C# CharacterCasing.Upper "ı" ve "i" sorunu

0

Merhaba,

Bu soru defalarca sorulmuş, ben de defalarca aramışımdır. Fakat aradığım cevabı bir türlü bulamıyorum. Sorunu

textbox nesnesinin "editvaluechange" olayına 

textEdit1.Text = textEdit1.Text.ToUpper();
textEdit1.SelectionStart = textEdit1.Text.Length;

kodunu ekleyerek çözmekteyim. Fakat bu kodu her nesnenin olayına eklemek yerine projenin bir yerine ekleyip tüm Upper özellikli nesneler için geçerli kılma imkanımız var mı?

Microsoft'un sitesinde bir şey buldum ama pek anlayamadım. Bknz. Buradan

masker masker (93)
6 yıl önce sordu

Toplam 2 Cevap


1

Sorunu ben bu şekilde çözdüm textBox1 nesnesinin KeyPress eventine aşşağıda ki kodu eklerseniz.. yazılarınızı direk büyük yazıyor.

 

if (e.Handled = !char.IsUpper(e.KeyChar) && !char.IsControl(e.KeyChar))
    {
           e.Handled = true;
           int SatirBaslangic = textBox1.SelectionStart;
           textBox1.Text = textBox1.Text.Insert(SatirBaslangic, e.KeyChar.ToString().ToUpper());
           textBox1.Select(SatirBaslangic + 1, 0);
   }

 

masker masker (93)
6 yıl önce cevaplandı

0

Merhaba,

Başlık ve soru farklı gibi geldi. Başlıkta sorduğunuz için:

Türkçe karakterlerdeki Uppercase sorunu. Yani küçük "i" harfi çevrildiğinde I olarak görünüyor. Çözüm için CultureInfo sınıfından yararlanabilirsiniz.

static void Main(string[] args)
        {
           
            string str1 = "uzmanım.net ile hayat çok güzel";
            string str2, str3;
            
            // Türkçe kültür ile
            str2 = str1.ToUpper(new CultureInfo("tr-TR", false));

            // İngilizce - ABD ile
            str3 = str1.ToUpper(new CultureInfo("en-US", false));
           
            Console.WriteLine(str2);
            Console.WriteLine(str3);
        
           
            Console.ReadLine();
        }

Diğer sorunuz için ise Custom textbox oluşturabilir ve tetiklemek istediğiniz olayın üzerine yazabilirsiniz.

murat murat (10473)
6 yıl önce cevaplandı

üyelik gerektirir

Cevap yazabilmek için üye girişi yapmalısınız.

Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol