2009-09-30 1 views
2

데이터베이스에 중국어 병음 및 한자를 입력하는 응용 프로그램을 만들었습니다. 즉, 운영자는 Ctrl + Shift를 사용하여 "Pinyinput"과 "sogou input"사이를 계속 전환해야합니다. 텍스트 상자를 선택하면 IME가 자동으로 변경되도록하는 방법이 있습니까? 키보드 레이아웃을 바꾸지 않고 동일한 키보드 레이아웃의 입력 방법을 사용합니다.C# - 동일한 키보드 레이아웃에서 서로 다른 두 IME 사이를 자동으로 전환

답변

5

언어 이름에 대해 잘 모르겠습니다. 디버깅 해보고 올바른 이름을 얻지 못했습니다. 일하지 마라. 그것이 작동하지 않은 경우

public void ToPinyinput() 
     { 
       string CName= ""; 
       foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
       { 
         CName = lang.Culture.EnglishName.ToString(); 

         if(CName.StartsWith("Pinyinput")) 
         { 
           InputLanguage.CurrentInputLanguage = lang; 
         } 
       } 

     } 


public void Tosogou() 
     { 
       string CName= ""; 
       foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) 
       { 
         CName = lang.Culture.EnglishName.ToString(); 

         if(CName.StartsWith("sogou")) 
         { 
           InputLanguage.CurrentInputLanguage = lang; 
         } 
       } 

     } 

, 올바른 LANG 이름에 다음 줄을 변경해야이 코드가 작동

CName.StartsWith("langName") 
+0

을, 감사합니다! 그러나 언어 간만 전환 할 수 있으며 동일한 언어 (문화권)의 입력 방법간에 전환 할 수 없습니다. –

+1

change CName = lang.Culture.EnglishName.ToString(); CName = lang.LayoutName.ToString(); 코드가 완벽합니다! 고맙습니다!!!! –

관련 문제