如何控制在DataGrid中不能输入全角数字,符号,字母?

如何控制在DataGrid中不能输入全角数字,符号,字母? 
  ===============================================  
  1.屏蔽全角  
  2.把全角转为半角  
   
  private   string   ToDBS(string   str)//全角转半角  
  {  
    return   Regex.Replace(str,"[\\w]",new   MatchEvaluator(RegReplace));  
  }  
  private     string   RegReplace(Match   m)  
  {  
        if((int)m.Value[0]>=65281&(int)m.Value[0]<=65374)return   ((char)((int)m.Value[0]-65248)).ToString();  
        if((int)m.Value[0]==12288)return   ((char)32).ToString();;  
  return   m.Value;  
  }
Top

  ///   半角转全角  
  ///   </summary>  
  ///   <param   name="BJstr"></param>  
  ///   <returns></returns>  
  static   public   string   GetQuanJiao(string   BJstr)  
  {  
  #region  
  char[]   c   =   BJstr.ToCharArray();  
  for   (int   i   =   0;   i   <   c.Length;   i++)  
  {  
  byte[]   b   =   System.Text.Encoding.Unicode.GetBytes(c,   i,   1);  
  if   (b.Length   ==   2)  
  {  
  if   (b[1]   ==   0)  
  {  
  b[0]   =   (byte)(b[0]   -   32);  
  b[1]   =   255;  
  c[i]   =   System.Text.Encoding.Unicode.GetChars(b)[0];  
  }  
  }  
  }  
   
  string   strNew   =   new   string(c);  
  return   strNew;  
   
  #endregion  
  }  
   
  ///   <summary>  
  ///   全角转半角  
  ///   </summary>  
  ///   <param   name="QJstr"></param>  
  ///   <returns></returns>  
  static   public   string   GetBanJiao(string   QJstr)  
  {  
  #region  
  char[]   c   =   QJstr.ToCharArray();  
  for   (int   i   =   0;   i   <   c.Length;   i++)  
  {  
  byte[]   b   =   System.Text.Encoding.Unicode.GetBytes(c,   i,   1);  
  if   (b.Length   ==   2)  
  {  
  if   (b[1]   ==   255)  
  {  
  b[0]   =   (byte)(b[0]   +   32);  
  b[1]   =   0;  
  c[i]   =   System.Text.Encoding.Unicode.GetChars(b)[0];  
  }  
  }  
  }  
  string   strNew   =   new   string(c);  
  return   strNew;  
  #endregion  
  }

转载于:https://www.cnblogs.com/antony1029/archive/2007/12/10/989457.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值