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)
10 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)
    10 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 (12492)
      10 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