如题。winform中。如何让用户一旦输入了分号就立刻自动删掉分号,或者根本不弹出分号?

解决方案 »

  1.   

    keypress事件中判断当前输入的是否是;如果是则阻止继续的事件。例如
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        e.Handled = e.KeyChar == ';';
    }
      

  2.   

    在KeyPress事件里面加上if(e.KeyChar==59)
    {
       e.Handled=true;
    }
      

  3.   

    onkeyup='this.value=this.value.replace(/\;/gi,"")'
      

  4.   

    那完善一点,复制这个类到程序中,编译,用这个自定义控件来剔除;。粘贴;也被限制了。
    public class SkipTextbox : TextBox
    {
        protected override void OnKeyPress(KeyPressEventArgs e)
        {
            e.Handled = e.KeyChar == ';';
            base.OnKeyPress(e);
        }
        public const int WM_PASTE = 0x302;
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_PASTE)
            {
                if (Clipboard.GetText().IndexOf(";") != -1) return;
            }
            base.WndProc(ref m);
        }
    }
      

  5.   

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
       if( e.KeyChar == ';')
       {
          e.Handled=true;
        }
    }
      

  6.   

    <input type="text" onkeyup='this.value=this.value.replace(/\;/gi,"")' />
      

  7.   

    keypress事件中判断输入的字符,如果是等于定义的字符就return
      

  8.   

    服了有些人的智商。
    连winform和webform都搞不清楚的人。