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