欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中Winfrom默認(rèn)輸入法的設(shè)置方法

 更新時(shí)間:2015年05月18日 09:40:54   作者:永遠(yuǎn)愛(ài)好寫(xiě)程序  
這篇文章主要介紹了C#中Winfrom默認(rèn)輸入法的設(shè)置方法,以實(shí)例形式較為詳細(xì)的分析了C#中輸入法設(shè)置的相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了C#中Winfrom默認(rèn)輸入法的設(shè)置方法。分享給大家供大家參考。具體分析如下:

在WINFORM中我們經(jīng)常遇到文本輸入框中輸入法被禁用或老是變?nèi)禽斎敕ǖ葐?wèn)題,經(jīng)查閱相關(guān)資料,現(xiàn)小結(jié)如下:

一、Control.ImeMode 屬性:獲取或設(shè)置控件的輸入法編輯器 (IME) 模式。

(1)由于窗體屬性繼承關(guān)系,如果你的WINFORM窗體中大部分需要設(shè)置為輸入法有效狀態(tài),可以設(shè)置為FORM的ImeMode屬性為On.
(2)如果需要某些TextBox為輸入法有效,則使用ImeMode.On
(3)如果需要設(shè)置整個(gè)窗體的輸入法全部為半角,可以使用以下代碼:

#region 修正輸入法全角/半角的問(wèn)題
//聲明一些API函數(shù) 
[DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hwnd);
[DllImport("imm32.dll")]
public static extern bool ImmGetOpenStatus(IntPtr himc);
[DllImport("imm32.dll")]
public static extern bool ImmSetOpenStatus(IntPtr himc, bool b);
[DllImport("imm32.dll")]
public static extern bool ImmGetConversionStatus(IntPtr himc, ref int lpdw, ref  int lpdw2);
[DllImport("imm32.dll")]
public static extern int ImmSimulateHotKey(IntPtr hwnd, int lngHotkey);
private const int IME_CMODE_FULLSHAPE = 0x8;
private const int IME_CHOTKEY_SHAPE_TOGGLE = 0x11;
protected override void OnActivated(EventArgs e)
{
  base.OnActivated(e);
  IntPtr HIme = ImmGetContext(this.Handle);  
  //如果輸入法處于打開(kāi)狀態(tài) 
  if (ImmGetOpenStatus(HIme))
  {
    int iMode = 0;
    int iSentence = 0;
    //檢索輸入法信息 
    bool bSuccess = ImmGetConversionStatus(HIme, ref iMode, ref iSentence);  
    if (bSuccess)
    {
      //如果是全角,轉(zhuǎn)換成半角 
      if ((iMode & IME_CMODE_FULLSHAPE) > 0)    
        ImmSimulateHotKey(this.Handle, IME_CHOTKEY_SHAPE_TOGGLE);    
    }
  }
}
#endregion 修正輸入法全角/半角的問(wèn)題

注意:需要引用以下命名空間:using System.Runtime.InteropServices; 

(4)對(duì)于僅用于輸入數(shù)值的 TextBox 控件,ImeMode 屬性通常設(shè)置為 ImeMode.Off。對(duì)于 Form 類(lèi),ImeMode 屬性值設(shè)置為 ImeMode.NoControl。

(5)不直接支持輸入方法編輯器或允許從 IME 直接輸入的大多數(shù)類(lèi)將此屬性的值設(shè)置為 NoControl。

重要事項(xiàng):

除非 ImeMode 已經(jīng)以編程方式設(shè)置為 ImeMode.Disable,否則用戶能夠以交互方式更改它。在前一種情況下,用戶將無(wú)法使用 IME。

二、ImeMode各屬性的含義:

ImeMode 枚舉:指定一個(gè)值,該值是用來(lái)確定在選定了對(duì)象時(shí)該對(duì)象的輸入法編輯器 (IME) 的狀態(tài)。

以下是微軟的解釋:

  成員名稱(chēng) 說(shuō)明
  Alpha 字母數(shù)字單字節(jié)字符 (SBC)。此設(shè)置僅對(duì)朝鮮語(yǔ)和日語(yǔ) IME 有效。 
  AlphaFull 字母數(shù)字雙字節(jié)字符。此設(shè)置僅對(duì)朝鮮語(yǔ)和日語(yǔ) IME 有效。 
  Close  
  Disable IME 被禁用。如果使用此設(shè)置,則用戶無(wú)法從鍵盤(pán)打開(kāi) IME,而且 IME 浮動(dòng)窗口處于隱藏狀態(tài)。 
  Hangul 朝鮮文 SBC。此設(shè)置僅對(duì)朝鮮語(yǔ) IME 有效。 
  HangulFull 朝鮮文 DBC。此設(shè)置僅對(duì)朝鮮語(yǔ) IME 有效。 
  Hiragana 平假名 DBC。此設(shè)置僅對(duì)日語(yǔ) IME 有效。 
  Inherit 繼承父控件的 IME 模式。 
  Katakana 片假名 DBC。此設(shè)置僅對(duì)日語(yǔ) IME 有效。 
  KatakanaHalf 片假名 SBC。此設(shè)置僅對(duì)日語(yǔ) IME 有效。 
  NoControl 無(wú)(默認(rèn))。 
  Off IME 已關(guān)閉。此模式指示 IME 已關(guān)閉,這意味著該對(duì)象的行為方式與英語(yǔ)輸入模式相同。此設(shè)置僅對(duì)日語(yǔ)、簡(jiǎn)體中文和繁體中文 IME 有效。 
  On IME 已打開(kāi)。此值指示 IME 已打開(kāi),可以輸入中文或日語(yǔ)特定的字符。此設(shè)置僅對(duì)日語(yǔ)、簡(jiǎn)體中文和繁體中文 IME 有效。 

 
備注:

輸入法編輯器 (IME) 允許用戶輸入和編輯中文、日語(yǔ)和朝鮮語(yǔ)字符。IME 是用于編寫(xiě)中文、日語(yǔ)和朝鮮語(yǔ)腳本的基本組件。這些書(shū)寫(xiě)體系具有的字符比可為常規(guī)鍵盤(pán)編碼的字符要多。這些語(yǔ)言的 IME 使用描述單個(gè)字符或成組字符的基字符序列,以便允許您輸入范圍較廣的一組字符?;址梢允莵?lái)自朝鮮文音節(jié)的成分字母、日語(yǔ)漢字字符的拼音成分,或者中文字符的各種組合。

三、如果設(shè)置為合適的輸入法?

這里僅給一個(gè)例子,打擊可以舉一返三:

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());
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Winform 顯示Gif圖片的實(shí)例代碼

    Winform 顯示Gif圖片的實(shí)例代碼

    這篇文章主要介紹了Winform 顯示Gif圖片的實(shí)例代碼,有需要的朋友可以參考一下
    2014-01-01
  • C#從實(shí)體對(duì)象集合中導(dǎo)出Excel的代碼

    C#從實(shí)體對(duì)象集合中導(dǎo)出Excel的代碼

    數(shù)據(jù)的導(dǎo)出是項(xiàng)目中經(jīng)常要實(shí)現(xiàn)的功能,就拿最常見(jiàn)的要導(dǎo)出成Excel來(lái)說(shuō),網(wǎng)上看來(lái)看去,都是介紹從Datatable中導(dǎo)出
    2008-08-08
  • jQuery uploadify在谷歌和火狐瀏覽器上傳失敗的解決方案

    jQuery uploadify在谷歌和火狐瀏覽器上傳失敗的解決方案

    jquery.uploadify插件是一個(gè)基于jquery來(lái)實(shí)現(xiàn)上傳的,這個(gè)插件很好用,每一次向后臺(tái)發(fā)送數(shù)據(jù)流請(qǐng)求時(shí),ie會(huì)自動(dòng)把本地cookie存儲(chǔ)捆綁在一起發(fā)送給服務(wù)器。但firefox、chrome不會(huì)這樣做,他們會(huì)認(rèn)為這樣不安全,下面介紹下jQuery uploadify上傳失敗的解決方案
    2015-08-08
  • .net后臺(tái)獲取html控件值的2種方法

    .net后臺(tái)獲取html控件值的2種方法

    .net后臺(tái)獲取html控件值的2種方法,需要的朋友可以參考一下
    2013-04-04
  • C#使用帶like的sql語(yǔ)句時(shí)防sql注入的方法

    C#使用帶like的sql語(yǔ)句時(shí)防sql注入的方法

    這篇文章主要介紹了C#使用帶like的sql語(yǔ)句時(shí)防sql注入的方法,采用了一個(gè)比較簡(jiǎn)單的字符串過(guò)濾方法就可以有效提高sql語(yǔ)句的安全性,防止sql注入,需要的朋友可以參考下
    2014-09-09
  • c#中多線程間的同步示例詳解

    c#中多線程間的同步示例詳解

    使用線程時(shí)最頭痛的就是共享資源的同步問(wèn)題,處理不好會(huì)得到錯(cuò)誤的結(jié)果,所以下面這篇文章主要給大家介紹了關(guān)于c#中多線程間同步的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • C#動(dòng)態(tài)生成PictureBox并指定圖片的方法

    C#動(dòng)態(tài)生成PictureBox并指定圖片的方法

    這篇文章主要介紹了C#動(dòng)態(tài)生成PictureBox并指定圖片的方法,實(shí)例分析了C#圖形控件的動(dòng)態(tài)生成及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • VS2012 未找到與約束ContractName匹配的導(dǎo)出

    VS2012 未找到與約束ContractName匹配的導(dǎo)出

    這篇文章主要介紹了在更新的windows補(bǔ)丁后,Visual Studio 用戶可能無(wú)法打開(kāi)或創(chuàng)建 C++ 或 JavaScript 文件或項(xiàng)目,小編的解決辦法,希望可以幫助到大家
    2018-04-04
  • C#編程簡(jiǎn)單實(shí)現(xiàn)生成PDF文檔的方法示例

    C#編程簡(jiǎn)單實(shí)現(xiàn)生成PDF文檔的方法示例

    這篇文章主要介紹了C#編程簡(jiǎn)單實(shí)現(xiàn)生成PDF文檔的方法,結(jié)合實(shí)例形式分析了C#生成PDF文檔的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-07-07
  • C#實(shí)現(xiàn)拼圖游戲

    C#實(shí)現(xiàn)拼圖游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)拼圖游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論