Edit

Share via


ImeMode Enum

Definition

Specifies a value that determines the Input Method Editor (IME) status of an object when the object is selected.

This API supports the product infrastructure and is not intended to be used directly from your code.

public enum class ImeMode
[System.Runtime.InteropServices.ComVisible(true)]
public enum ImeMode
public enum ImeMode
[<System.Runtime.InteropServices.ComVisible(true)>]
type ImeMode = 
type ImeMode = 
Public Enum ImeMode
Inheritance
Attributes

Fields

Alpha 8

Alphanumeric single-byte characters(SBC). This setting is valid for Korean and Japanese IME only.

AlphaFull 7

Alphanumeric double-byte characters. This setting is valid for Korean and Japanese IME only.

Close 11

IME closed. This setting is valid for Chinese IME only.

Disable 3

The IME is disabled. With this setting, the users cannot turn the IME on from the keyboard, and the IME floating window is hidden.

Hangul 10

Hangul SBC. This setting is valid for the Korean IME only.

HangulFull 9

Hangul DBC. This setting is valid for the Korean IME only.

Hiragana 4

Hiragana DBC. This setting is valid for the Japanese IME only.

Inherit -1

Inherits the IME mode of the parent control.

Katakana 5

Katakana DBC. This setting is valid for the Japanese IME only.

KatakanaHalf 6

Katakana SBC. This setting is valid for the Japanese IME only.

NoControl 0

None (Default).

Off 2

The IME is off. This mode indicates that the IME is off, meaning that the object behaves the same as English entry mode. This setting is valid for Japanese, Simplified Chinese, and Traditional Chinese IME only.

On 1

The IME is on. This value indicates that the IME is on and characters specific to Chinese or Japanese can be entered. This setting is valid for Japanese, Simplified Chinese, and Traditional Chinese IME only.

OnHalf 12

IME on HalfShape. This setting is valid for Chinese IME only.

Examples

The following example shows how to set the value of a control's ImeMode property.

#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 ref class Form1: public System::Windows::Forms::Form
{
private:
   RichTextBox^ rtb;

public:
   Form1()
   {
      rtb = gcnew RichTextBox;
      this->Controls->Add( rtb );
      rtb->Dock = DockStyle::Fill;
      this->InputLanguageChanged += gcnew 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( "ja" ) )
      {
         rtb->ImeMode = System::Windows::Forms::ImeMode::Katakana;
      }
   }

};

int main()
{
   Application::Run( gcnew Form1 );
}
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());
    }
}
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

Remarks

An Input Method Editor (IME) allows users to enter and edit Chinese, Japanese, and Korean characters. The IME is an essential component for writing Chinese, Japanese, and Korean scripts. These writing systems have more characters than can be encoded for a regular keyboard. The IMEs for these languages use sequences of base characters that describe an individual character or group of characters to allow you to enter a larger set of characters. Base characters can be component letters from Hangul syllables, phonetic components for Japanese Kanji characters, or various combinations for Chinese characters.

Important

The user can interactively change the Control.ImeMode unless it has been programmatically set to Disable. In this case, the user will not be able to use the IME.

The ImeMode property is ignored on Windows 8 when the global input mode is in effect. For more info, see Switch Text Input Changed from Per-Thread to Per-User.

Applies to

See also