可以屏蔽某些输入字符的TextBox

时间:2023-01-26 04:28:03

class myTextBox : System.Windows.Forms.TextBox
  {
   protected override bool ProcessKeyEventArgs(ref Message m)
   {
    int s=m.Wparam.ToInt32();
    if(m.Msg==0x0102)  
    {
     if((s<48)||(s>57))      //这里是需要屏蔽的字符(ASCII)
      return true;
    }
    return base.ProcessKeyEventArgs (ref m);
   }
  }

之所以用继承,的原因,是因为虽然我们能拦截到ProcessKey事件,但是此时字符已经输入进去了。难以实现屏蔽的作用(即使屏蔽也不是真的屏蔽,而是等输入完再删除掉。)


相关文章