次の方法で共有


InputLanguageChangedEventArgs クラス

InputLanguageChanged イベントのデータを提供します。

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

System.Object
   System.EventArgs
      System.Windows.Forms.InputLanguageChangedEventArgs

Public Class InputLanguageChangedEventArgs
   Inherits EventArgs
[C#]
public class InputLanguageChangedEventArgs : EventArgs
[C++]
public __gc class InputLanguageChangedEventArgs : public EventArgs
[JScript]
public class InputLanguageChangedEventArgs extends EventArgs

スレッドセーフ

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

解説

InputLanguageChangedEventArgs からのデータを使用して、IME (Input Method Editor) を変更するかどうか、または右から左方向への値をスワップするかどうかを決定できます。また、異なるリソースを選択できるように、スレッドの CurrentCulture プロパティおよび CurrentUICulture プロパティも変更できます。

InputLanguageChangedEventArgs は、新しい入力言語のロケールおよび文字セットを識別します。

InputLanguageChanging イベントは、 InputLanguageChanged イベントに先行します。

使用例

[Visual Basic, C#, C++] 新しい Form を作成し、 InputLanguageChanged イベントにイベント ハンドラを結び付ける例を次に示します。入力言語が日本語に変更されると、このイベントは IMEmode を変更します。

 
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data

Public Class Form1
   Inherits System.Windows.Forms.Form
   
   Dim WithEvents rtb As New RichTextBox()
   
   Public Sub New()
      MyBase.New()
      Me.Controls.Add(rtb)
      rtb.Dock = DockStyle.Fill
   End Sub

   Private Sub languageChange( _
      ByVal sender As Object, _
      ByVal e As InputLanguageChangedEventArgs _
   ) Handles MyBase.InputLanguageChanged

      ' If the input language is Japanese.
      ' set the initial IMEMode to Katakana.
      If e.InputLanguage.Culture.TwoLetterISOLanguageName.Equals("ja") = True Then
         rtb.ImeMode = System.Windows.Forms.ImeMode.Katakana
      End If
   End Sub

   Public Shared Sub Main()
      Application.Run(new Form1())
   End Sub

End Class

[C#] 
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class Form1 : System.Windows.Forms.Form
{
    RichTextBox rtb = new RichTextBox();
    public Form1()
    {
        this.Controls.Add(rtb);
        rtb.Dock = DockStyle.Fill;
        this.InputLanguageChanged += new InputLanguageChangedEventHandler(languageChange);
    }
    private void languageChange(Object sender, InputLanguageChangedEventArgs e)
    {
        // If the input language is Japanese.
        // set the initial IMEMode to Katakana.
        if (e.InputLanguage.Culture.TwoLetterISOLanguageName.Equals("ja"))
        {
            rtb.ImeMode = System.Windows.Forms.ImeMode.Katakana;
        }
    }
    public static void Main(string[] args)
    {
        Application.Run(new Form1());
    }
}

[C++] 
#using <mscorlib.dll>
#using <System.Data.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Data;

public __gc class Form1 : public System::Windows::Forms::Form
{
    RichTextBox* rtb;
public:
    Form1()
    {
        rtb = new RichTextBox();
        this->Controls->Add(rtb);
        rtb->Dock = DockStyle::Fill;
        this->InputLanguageChanged += new InputLanguageChangedEventHandler(this, &Form1::languageChange);
    }
private:
    void languageChange(Object* /*sender*/, InputLanguageChangedEventArgs* e)
    {
        // If the input language is Japanese.
        // set the initial IMEMode to Katakana.
        if (e->InputLanguage->Culture->TwoLetterISOLanguageName->Equals(S"ja"))
        {
            rtb->ImeMode = System::Windows::Forms::ImeMode::Katakana;
        }
    }
};

int main()
{
    Application::Run(new Form1());
}

[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 内)

参照

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