按Enter键并在datagridview中打开一个新表单

时间:2011-10-24 06:14:37

标签: c# datagridview

当用户在我的一个datagridview单元格中按下Enter键时(如在column1单元格中),应该打开一个像form2这样的新表单。我知道在keypress事件中我应该编写e.handled=true;来实现这一点,但是当datagridview单元处于活动状态时,此代码不起作用。我该怎么办?

2 个答案:

答案 0 :(得分:2)

您需要处理DataGridView控件的EditingControlShowing事件和Cell控件的PreviewKeyDown事件。

dataGridView1.EditingControlShowing += (senderObject,eventArgs)=>
  {
    eventArgs.Control.PreviewKeyDown += (sa, ea) =>
      {
       if (ea.KeyCode == Keys.Return)
         {
           MessageBox.Show("Something...");
         }
      };
   };

答案 1 :(得分:0)

您好,请尝试在下面使用它 创建两种形式 在form1上,使用下面指定名称上的网格,或者可以使用

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
        {
            testform tf = new testform();

            {
                if (dataGridView1.CurrentRow.Cells[0].Selected)
                {
                    if (e.KeyCode.ToString() == "F1")

                    {
                        tf.Show();

                    }



                }
            }