Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测datagridview中的导航键按下_C#_Visual Studio 2010_Datagridview - Fatal编程技术网

C# 检测datagridview中的导航键按下

C# 检测datagridview中的导航键按下,c#,visual-studio-2010,datagridview,C#,Visual Studio 2010,Datagridview,我尝试使用datagridview的按键事件,但不起作用。如何在datagridview中检测上下左右箭头键按下?尝试使用下键事件: private void dgv1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right) {

我尝试使用datagridview的按键事件,但不起作用。如何在datagridview中检测上下左右箭头键按下?

尝试使用
下键
事件:

private void dgv1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Up || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left || e.KeyCode == Keys.Right)
    {
         //do stuff
    }
}

可以使用
PreviewKeyDown

public Form1()
{
    InitializeComponent();

    dgv.Columns.Add(new DataGridViewTextBoxColumn());

    dgv.Rows.Add("text");

    dgv.PreviewKeyDown += (sender, args) =>
    {
        Debug.Print(args.KeyCode.ToString());
    };
}

试图这样做,但工作不正常。一个项目只在按下键后被选择,而不是在按下键后被选择,因此无法获得所需的结果。