如何控制TextBox只能輸入英文或只能輸入漢字?

求全角、半角字符的自動切換,選中表單上某個TextBox自動切換成漢字狀態以便輸入漢字,選中另一個TextBox又自動切換爲英文輸入狀態可輸入半角字符。

 

TextBox.ImeMode = ImeMode.On;    //打開輸入法 
TextBox.ImeMode = ImeMode.Off;    //關閉輸入法

 

#region 全角半角轉換 
/// <summary> 
/// 轉全角的函數(SBC case) 
/// </summary> 
/// <param name="input">任意字符串 </param> 
/// <returns>全角字符串 </returns> 
/// <remarks> 
///全角空格爲12288,半角空格爲32 
///其他字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248 
/// </remarks> 
public  static string ToSBC(string input) 

//半角轉全角: 
char[] c=input.ToCharArray(); 
for (int i = 0; i < c.Length; i++) 

if (c[i]==32) 

c[i]=(char)12288; 
continue; 

if (c[i] <127) 
c[i]=(char)(c[i]+65248); 

return new string(c); 



/// <summary> 轉半角的函數(DBC case) </summary> 
/// <param name="input">任意字符串 </param> 
/// <returns>半角字符串 </returns> 
/// <remarks> 
///全角空格爲12288,半角空格爲32 
///其他字符半角(33-126)與全角(65281-65374)的對應關係是:均相差65248 
/// </remarks> 
public static string ToDBC(string input) 

char[] c=input.ToCharArray(); 
for (int i = 0; i < c.Length; i++) 

if (c[i]==12288) 

c[i]= (char)32; 
continue; 

if (c[i]>65280 && c[i] <65375) 
c[i]=(char)(c[i]-65248); 

return new string(c); 

#endregion

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章