在datagridview中按下enter按钮打开另一个窗口

时间:2013-03-09 05:56:30

标签: c# .net winforms

我有大约25000行的大型数据网格。 [Windows应用程序]

因为我试图实现这样的功能,当我按下回车键我可以打开新窗口。在那个新窗口中,我显示了记录的数据,我在文本框和标签方面按下了输入按钮。但不幸的是,我没有发现任何相关事件。当我按下回车按钮激活时,所选行移动到下一条记录。

我还想知道是否有任何功能,当我加载窗口[Grid]时,默认情况下应该选择第一条记录。

我尝试了不同的事件,例如

 private void gvTradeFile_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            splitPopUp objSplit = new splitPopUp();
            objSplit.Show();
        }

没工作。

private void gvTradeFile_Enter(object sender, EventArgs e)
        {
            splitPopUp objSplit = new splitPopUp();
            objSplit.Show();
        }

这也行不通。

我提到http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/6a73013f-4440-4d45-a322-63c4cae1bb39/这个链接但没有得到任何结果。

是否有任何与实现此功能相关的想法?

1 个答案:

答案 0 :(得分:3)

您需要处理网格的KeyDown事件:

private void gvTradeFile_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        var row = dataGridView1.CurrentRow; // retreive the current row
        // show the form
        // ...
    }
}

当键盘焦点进入进入网格时发生Enter事件,并且当行接收输入焦点时发生RowEnter事件。这些事件与 Enter 键无关。