如何在testbox中按下小键盘的加号键 但不将字符'+'写入 ?
也就是不是把输入的加号去处 而是就是不让他写上去 
请指教  谢谢 

解决方案 »

  1.   

    在textBox1_KeyDown时间中
    利用e.KeyValue == 107进行判断一下,再按照你的要求进行处理!
      

  2.   

    如果是Web, 则用javascript判断一下就ok了,是加号就取消掉
    如果是WinForm, 你可以自己实现一个Textbox,从微软的这个继承,然后重载一个方法就可以了。
      

  3.   

    public class myTextBox : System.Windows.Forms.TextBox
    {
       protected override bool ProcessKeyEventArgs(ref Message m)
       {
        int s=m.Wparam.ToInt32();
        if(m.Msg==0x0102)          
        {
         if(s == (int)'+')      
              return true;
        }
        return base.ProcessKeyEventArgs (ref m);
       }
      }
      

  4.   


            private bool plusPressed = false;        private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                plusPressed = false;
                if (e.KeyCode == Keys.Add || e.KeyCode == Keys.Oemplus)
                    plusPressed = true;
            }        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (plusPressed)
                    e.Handled = true;
            }
      

  5.   

    keypress事件中 判断成立后 事件参数handled=true;