我做一个程序,要求是:
点开始,然后记录按键次数,当按完四个键后自动执行一个方法.
然后按键次数清零,再重新记录,如果又按了四个键,则再执行一个方法.不是控制台的程序,我做的是WinForm程序,是填表用的.
会不会是重定向输入之类的?

解决方案 »

  1.   

    1)定义一个Form的private字段,如:int keyPressCount
    2)实现给窗体的KeyPress事件,如:
    private void DemoForm_KeyPress(object sender, KeyPressEventArgs e)
    {
       keyPressCount++;
       if(keyPressCount == 4)
       {
          someMethod();
          keyPressCount = 0;
       }   
    }
    3) 如果是文本框的按键次数,则给出TextBox的KeyPress事件;
    另,如果还要考虑文本框的上下文Mouse操作,请参考拙文:定制C# TextBox中只允许输入数字的解决方法。
      

  2.   

    是文本框里的内容长度等于4吧?
    否则有选中的时候输入怎么办?
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if(this.textBox1.Text.Length==4)
    {
    //执行你的方法
    this.textBox1.Text="";
    }
    }