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

发布于 2024-12-11 16:28:36 字数 173 浏览 0 评论 0原文

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

When a user presses Enter key in one of my datagridview cells (like in column1 cells), a new form like form2 should be opened. I know that in the keypress event I should write e.handled=true; to achieve this, but this code is not working when the datagridview cell is active. How can I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

看春风乍起 2024-12-18 16:28:36

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

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

You need to handle the EditingControlShowing event of DataGridView control and PreviewKeyDown event of Cell's Control.

dataGridView1.EditingControlShowing += (senderObject,eventArgs)=>
  {
    eventArgs.Control.PreviewKeyDown += (sa, ea) =>
      {
       if (ea.KeyCode == Keys.Return)
         {
           MessageBox.Show("Something...");
         }
      };
   };
自此以后,行同陌路 2024-12-18 16:28:36

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

                    }



                }
            } 

hello try to use this in below
create two form
on form1 use the grid on given below name or as you can

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();

                    }



                }
            } 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文