Keys.Left
Keys.Right
Keys.Up
Keys.Down
其他键的KeyCode都可以获取得到的,请问如何调用

解决方案 »

  1.   

    你要在KeyDown或KeyUp事件中获得
      

  2.   

    楼住是在KeyPress中判断的吧?KeyPress是不会有些功能键的
    void textBox_KeyDown(object sender,KeyEventArgs e)
    {
    if(e.KeyCode== Keys.Left)
    {
    MessageBox.Show("Left");
    }
    }
      

  3.   

    就是说你要在KeyDown或KeyUp事件中获得,然后以MessageBox.Show(e.KeyCode.ToString())输出,键盘上任何键都可以,就只有4个方向键按了没反应
      

  4.   

    窗体的KeyDown或KeyUp事件,不是控件的。
      

  5.   

    protected override void OnKeyDown(KeyEventArgs e)
    {
    switch(e.KeyCode)
    {
    case Keys.Left:
    MessageBox.Show(Keys.Left.ToString());
    break;
    case Keys.Right:
    MessageBox.Show(Keys.Right.ToString());
    break;
    case Keys.Up:
    MessageBox.Show(Keys.Up.ToString());
    break;
    case Keys.Down:
    MessageBox.Show(Keys.Down.ToString());
    break;
    }
    }
    代码大至这样
      

  6.   

    在ProcessCmdKey中处理才能得到方向键。        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                if ((keyData & Keys.Left) == Keys.Left)
                {
                    MessageBox.Show("This is Left key");
                }
                else if ((keyData & Keys.Right) == Keys.Right)
                {
                    MessageBox.Show("This is Right key");
                }
                else if ((keyData & Keys.Up) == Keys.Up)
                {
                    MessageBox.Show("This is Up key");
                }
                else if ((keyData & Keys.Down) == Keys.Down)
                {
                    MessageBox.Show("This is Down key");
                }            return base.ProcessCmdKey(ref msg, keyData);
            }如果你想在OnKeyDown中看到方向键,需要override IsInputKey和IsInputChar方法,使他们在key值为方向键时返回true。
      

  7.   

    多谢lalac(水月流影) 帮忙。