다음을 통해 공유


InputLanguage 클래스

입력 언어를 관리하기 위한 메서드와 필드를 제공합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public NotInheritable Class InputLanguage
‘사용 방법
Dim instance As InputLanguage
public sealed class InputLanguage
public ref class InputLanguage sealed
public final class InputLanguage
public final class InputLanguage

설명

입력 언어는 키보드의 실제 키가 언어의 문자에 매핑되거나 문자를 나타내는 방식을 결정하는 culture/키보드 레이아웃 쌍입니다. 입력 언어는 Platform SDK 함수 GetKeyboardLayout에서 반환되는 것과 같은 Windows 입력 로캘 식별자를 기반으로 합니다. 입력 로캘 식별자는 HKL(자판 배열 처리) 값이라고도 합니다.

제공된 static 메서드를 사용하여 시스템에 설치된 모든 매핑을 찾은 다음 스레드나 프로세스의 입력 언어를 변경합니다. CurrentInputLanguage를 호출하여 현재의 입력 언어를 가져옵니다. 기본 입력 언어에 대한 DefaultInputLanguage를 호출합니다. InstalledInputLanguages를 호출하여 이 시스템에 설치된 모든 언어를 가져옵니다. 설치된 모든 언어의 목록을 가져온 후 CurrentInputLanguage를 사용하여 현재 입력 언어를 다른 언어로 변경합니다.

예제

다음 코드 예제에서는 설치된 언어의 목록을 가져옵니다. 이 예제를 실행하려면 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
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.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
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.Object
  System.Windows.Forms.InputLanguage

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

InputLanguage 멤버
System.Windows.Forms 네임스페이스