InputLanguage クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


入力言語とは、キーボード上の物理キーを言語の文字に割り当てる方法を決定する、カルチャとキーボード レイアウトの組み合わせのことです。入力言語は、プラットフォーム SDK 関数 GetKeyboardLayout から返されるロケール識別子など、Windows 入力ロケール識別子に基づきます。入力ロケール識別子は、キーボード レイアウトを識別するハンドル (HKL) 値とも言います。
提供されている static メソッドを使用して、システムにインストールされているマップをすべて検索し、スレッドまたはプロセスの入力言語を変更します。現在の入力言語を取得するには、CurrentInputLanguage を呼び出します。既定の入力言語を取得するには DefaultInputLanguage を呼び出します。システムにインストールされているすべての言語を取得するには、InstalledInputLanguages を呼び出します。インストールされているすべての言語のリストを取得した後に、CurrentInputLanguage を使用して、現在の入力言語を別の言語に変更できます。

インストールされている言語のリストを取得するコード例を次に示します。この例では、textBox1 がインスタンス化されていること、および textBox1.MultiLine が true に設定されていることを前提にしています。
Public Sub GetLanguages() ' Gets the list of installed languages. Dim lang As InputLanguage For Each lang In InputLanguage.InstalledInputLanguages textBox1.Text &= lang.Culture.EnglishName & ControlChars.Cr Next lang End Sub 'GetLanguages
public void GetLanguages() { // Gets the list of installed languages. foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) { textBox1.Text += lang.Culture.EnglishName + '\n'; } }
public: void GetLanguages() { // Gets the list of installed languages. for each ( InputLanguage^ lang in InputLanguage::InstalledInputLanguages ) { textBox1->Text = String::Concat( textBox1->Text, lang->Culture->EnglishName, "\n" ); } }
public void GetLanguages() { // Gets the list of installed languages. IEnumerator objEnum = InputLanguage.get_InstalledInputLanguages(). GetEnumerator(); while (objEnum.MoveNext()) { InputLanguage lang = (InputLanguage)objEnum.get_Current(); textBox1.set_Text(textBox1.get_Text() + lang.get_Culture(). get_EnglishName() + '\n'); } } //GetLanguages
既定の入力言語を現在の入力言語として設定する例を次に示します。この例では、textBox1 がインスタンス化されていること、および textBox1.MultiLine が true に設定されていることを前提にしています。
Public Sub SetNewCurrentLanguage() ' Gets the default, and current languages. Dim myDefaultLanguage As InputLanguage = InputLanguage.DefaultInputLanguage Dim myCurrentLanguage As InputLanguage = InputLanguage.CurrentInputLanguage textBox1.Text = "Current input language is: " & _ myCurrentLanguage.Culture.EnglishName & ControlChars.Cr textBox1.Text &= "Default input language is: " & _ myDefaultLanguage.Culture.EnglishName & ControlChars.Cr ' Changes the current input language to the default, and prints the new current language. InputLanguage.CurrentInputLanguage = myDefaultLanguage textBox1.Text &= "Current input language is now: " & _ myDefaultLanguage.Culture.EnglishName End Sub 'SetNewCurrentLanguage
public void SetNewCurrentLanguage() { // Gets the default, and current languages. InputLanguage myDefaultLanguage = InputLanguage.DefaultInputLanguage; InputLanguage myCurrentLanguage = InputLanguage.CurrentInputLanguage; textBox1.Text = "Current input language is: " + myCurrentLanguage.Culture.EnglishName + '\n'; textBox1.Text += "Default input language is: " + myDefaultLanguage.Culture.EnglishName + '\n'; // Changes the current input language to the default, and prints the new current language. InputLanguage.CurrentInputLanguage = myDefaultLanguage; textBox1.Text += "Current input language is now: " + myDefaultLanguage.Culture.EnglishName; }
public: void SetNewCurrentLanguage() { // Gets the default, and current languages. InputLanguage^ myDefaultLanguage = InputLanguage::DefaultInputLanguage; InputLanguage^ myCurrentLanguage = InputLanguage::CurrentInputLanguage; textBox1->Text = String::Format( "Current input language is: {0}\nDefault input language is: {1}\n", myCurrentLanguage->Culture->EnglishName, myDefaultLanguage->Culture->EnglishName ); // Changes the current input language to the default, and prints the new current language. InputLanguage::CurrentInputLanguage = myDefaultLanguage; textBox1->Text = String::Format( "{0}Current input language is now: {1}", textBox1->Text, myDefaultLanguage->Culture->EnglishName ); }
public void SetNewCurrentLanguage() { // Gets the default, and current languages. InputLanguage myDefaultLanguage = InputLanguage.get_DefaultInputLanguage(); InputLanguage myCurrentLanguage = InputLanguage.get_CurrentInputLanguage(); textBox1.set_Text("Current input language is: " + myCurrentLanguage.get_Culture().get_EnglishName() + '\n'); textBox1.set_Text(textBox1.get_Text() + "Default input language is: " + myDefaultLanguage.get_Culture().get_EnglishName() + '\n'); // Changes the current input language to the default, // and prints the new current language. InputLanguage.set_CurrentInputLanguage(myDefaultLanguage); textBox1.set_Text(textBox1.get_Text() + "Current input language is now: " + myDefaultLanguage.get_Culture().get_EnglishName()); } //SetNewCurrentLanguage

System.Windows.Forms.InputLanguage


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- InputLanguage クラスのページへのリンク