form里有2个控件 1个dataGridView1 1个textBox1分别添加         private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData!=Keys.Up || e.KeyData!=Keys.Down )
            {
                textBox1.Select();
            } 
        }
        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData==Keys.Up || e.KeyData==Keys.Down )
            {
                dataGridView1.Select();
            } 
        }这是让两个控件根据键盘 来获得焦点 当dataGridView1获得焦点后 按↑↓键 dataGridView1总迟钝1排改怎样解决 请教老师们 呵呵把这两个事件合到 form1_KeyDown()里就没反应!!     private void form1_KeyDown(object sender, KeyEventArgs e)
{
                 if (e.KeyData!=Keys.Up || e.KeyData!=Keys.Down )
            {
                textBox1.Select();
            } 
            else
{
  dataGridView1.Select();
}
}

解决方案 »

  1.   

    迟钝1排是什么意思..
    如果在窗体键盘里使用加个 this.KeyPreview = true;
      

  2.   

            private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyData!=Keys.Up || e.KeyData!=Keys.Down )
                {
                    textBox1.Focus();
                } 
            }
            private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyData==Keys.Up || e.KeyData==Keys.Down )
                {
                    dataGridView1.Focus();
                } 
            }
      

  3.   

    dataGridView1_KeyDown事件没用
    textBox1_KeyDown事件改成  if (e.KeyData == Keys.Up || e.KeyData == Keys.Down)
                {
                    dataGridView1.Select();
                    SendKeys.Send("{" + e.KeyData.ToString() + "}");
                }
      

  4.   


    执行事件使得 按2次↓键 dataGridView1跳到下一Row
      

  5.   

    用dataGridView1_KeyUp试试,我的就是这样解决的了