1

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

我正在尝试实现功能,例如,当我按下回车键时,我可以打开新窗口。在那个新窗口中,我以文本框和标签的形式显示了我按下 Enter 按钮的记录的数据。但不幸的是,我没有找到任何相关的事件。当我按下回车按钮时,选定的行将移动到下一条记录。

我还想知道是否有任何功能,当我加载 window[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/这个链接,但什么也没得到。

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

4

1 回答 1

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密钥无关。

于 2013-03-09T06:02:43.723 回答