为了能让DataGridView接收Tab和Enter键,我按gomoku兄的方法重写了控件,网址:http://topic.csdn.net/u/20090502/01/f40432d9-7ef8-47f9-93cf-e454abf28a6d.html结果在void ctlTxt_KeyDown(object sender, KeyEventArgs e)
事件里出了问题:将光标放在DataGridView的第一行按键是没问题的,但放到一行以上按键就会多次执行ctlTxt_KeyDown事件,当我放到第二十行时执行了七次,我只想执行一次,有什么办法,谢谢大家

解决方案 »

  1.   

    调试了,我就是为了试试,就只写了一句,它是跳出这个函数又执行的 void ctlTxt_KeyDown(object sender, KeyEventArgs e)
            {
                int n = Convert.ToInt32(e.KeyData);
            }
      

  2.   

    在当前单元格实现tab和 enter键
    protected new bool ProcessRightKey(Keys keyData)
           {
                Keys k = Keys.KeyCode & keyData;
                if (k == Keys.Enter)
                {            }
                return base.ProcessRightKey(keyData);
            }