【问题标题】:pressing enter key and open a new form in datagridview按 Enter 键并在 datagridview 中打开一个新表单
【发布时间】:2020-05-20 10:35:24
【问题描述】:

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

【问题讨论】:

  • 您在这里提供的描述有些混乱,请修改以更好地理解。
  • 对不起,我不能说(和写)英语很好,我有一个 datagridview 和 2 个表单,当用户在一个 datagridview 单元格(第 1 列和任何行)中编写代码时,我想要按回车键;显示form2。
  • 你给出的评论比你的问题很清楚。

标签: c# datagridview


【解决方案1】:

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

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

【讨论】:

  • 谢谢,但此代码在其他列中不起作用,并且可以打开多个表单。
【解决方案2】:

你好尝试在下面使用它 创建两个表格 在 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();

                    }



                }
            } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    相关资源
    最近更新 更多