2015-11-04 24 views
6

Bir form için bazı kod incelemenizi ve aşağıdakilere bakın ediyorum: GetLocalLanguage()InputLanguage.InstalledInputLanguages geçer ve varsa ülkeye özgü birini verirInputLanguage'in değiştirilmesi ne yapıyor?

void SomeTextBox_Enter(object sender, EventArgs e) 
{ 
    InputLanguage.CurrentInputLanguage = GetLocalLanguage(DataModel.Country); 
    SomeTextBox.ImeMode = ImeMode.On; 
} 

.

Bu kodun amacı nedir? Neden Giriş Dilini değiştirmek istiyoruz?

+0

Geçerli iş parçacığının doğru InputLanguage olmasını sağlamak için çoğunlukla çoklu iş parçacığı ortamında düşünüyorum. 'Geçerli iş parçacığı için giriş dilini alır veya ayarlar. ' – Jehof

+0

[MSDN]' dan (https://msdn.microsoft.com/en-us/library/system.windows.forms.inputlanguage (v = vs.110). aspx) "Girdi dili, klavye haritasındaki fiziksel tuşların veya bir dilde karakterlerin nasıl çizildiğini belirleyen bir kültür/klavye düzeni çiftidir. Giriş dili, Platform tarafından döndürülen gibi bir Windows giriş yerel tanımlayıcısını temel alır. SDK işlevi, GetKeyboardLayout Girdi yerel tanımlayıcısı, klavye düzeni (HKL) değerine de bir tanıtıcı olarak adlandırılır. " - Yani farklı klavye düzenlerini/dillerini desteklemek için olabilir. – sab669

+0

(devamı) Uygulama, öncelikli olarak 1 bölge tarafından kullanılmasını bekliyor mu? Farklı InputLanguages'ın anahtar kodları farklı şekilde çevirip çeviremeyeceğinden emin değilim. Yani bu belki de buna bağlanabilir. – sab669

cevap

0

Giriş dili öğesi, tüm giriş dili verileri için yalnızca kapsayıcıdır. Formun kendi dilinden (kaynaklarda tanımlanmış) ayarlanıp geçersiz kılınabilen "CurrentInputLanguage" adlı bir alt öğe vardır.

Tüm testlerimde, tüm değişikliklerin göz ardı edildiği sonucuna vardım.

  • Klavye girişi değişmiyor. Anahtarlar hala aynı.
  • Biçimlendirme değişmiyor. Sayılar ve ayrıştırılan değerler formatı değiştirmez.

Bu değerin salt okunur olması gerektiğini varsayalım.

+0

Bu doğru değil. Söylemeliyim. Bu cevaba bakın: http://stackoverflow.com/a/23594038/6201755 Başka sorunlarınız olmalı. Gönderinizi düzenleyebilir misiniz, bu yüzden sizin özel durumunuz olduğu açık mı? – ib11