次の方法で共有


InputLanguage クラス

入力言語を管理するメソッドとフィールドを提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、InputLanguage メンバ を参照してください。

System.Object
   System.Windows.Forms.InputLanguage

NotInheritable Public Class InputLanguage
[C#]
public sealed class InputLanguage
[C++]
public __gc __sealed class InputLanguage
[JScript]
public class InputLanguage

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

入力言語とは、キーボード上の物理キーを言語の文字に割り当てる方法を決定する、カルチャとキーボード レイアウトの組み合わせのことです。

提供されている static (Visual Basic では Shared) メソッドを使用して、システムにインストールされているマップをすべて検索し、スレッドまたはプロセスの入力言語を変更します。現在の入力言語を取得するには、 CurrentInputLanguage を呼び出します。既定の入力言語を取得するには DefaultInputLanguage を呼び出します。システムにインストールされているすべての言語を取得するには、 InstalledInputLanguages を呼び出します。インストールされているすべての言語のリストを取得した後に、 CurrentInputLanguage を使用して、現在の入力言語を別の言語に変更できます。

使用例

[Visual Basic, C#, C++] インストールされている言語のリストを取得する例を次に示します。この例は、 textBox1 がインスタンス化されていること、および textBox1.MultiLinetrue に設定されていることを前提にしています。

 
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


[C#] 
public void GetLanguages() {
    // Gets the list of installed languages.
    foreach(InputLanguage lang in InputLanguage.InstalledInputLanguages) {
       textBox1.Text += lang.Culture.EnglishName + '\n';
    }
}

[C++] 
public:
void GetLanguages() {
    // Gets the list of installed languages.
    System::Collections::IEnumerator* myEnum = InputLanguage::InstalledInputLanguages->GetEnumerator();
    while (myEnum->MoveNext())
    {
        InputLanguage* lang = __try_cast<InputLanguage*>(myEnum->Current);
        textBox1->Text = String::Concat( textBox1->Text, lang->Culture->EnglishName, S"\n" );
    }
}

[Visual Basic, C#, C++] 既定の入力言語を現在の入力言語として設定する例を次に示します。この例は、 textBox1 がインスタンス化されていること、および textBox1.MultiLinetrue に設定されていることを前提にしています。

 
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

[C#] 
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;
}

[C++] 
public:
void SetNewCurrentLanguage() {
    // Gets the default, and current languages.
    InputLanguage* myDefaultLanguage = InputLanguage::DefaultInputLanguage;
    InputLanguage* myCurrentLanguage = InputLanguage::CurrentInputLanguage;
    textBox1->Text = String::Format( S"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( S"{0}Current input language is now: {1}", textBox1->Text, myDefaultLanguage->Culture->EnglishName );
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

InputLanguage メンバ | System.Windows.Forms 名前空間