显示DataGridView的第一行(向上滚动到第一行)

问题描述:

在我的DataGridView控件中,当用户点击Home按钮时,我想要转到第一行。显示DataGridView的第一行(向上滚动到第一行)

我赶上KeyDown事件和下面的代码:

if (e.KeyCode == Keys.Home) 
{ 
    dgvMain.FirstDisplayedCell = dgvMain.Rows[0].Cells[0]; 
} 

不工作,也没有这一项:

if (e.KeyCode == Keys.Home) 
{ 
    dgvMain.FirstDisplayedScrollingRowIndex = dgvMain.Rows[0].Index; 
} 

这些代码让电网滚动了一下,但没有第一行。

我该如何关注第一排?没有选择它。

+0

@Damith刷新不起作用,没有。但是,当我将Handled设置为true时,它可以工作。 –

我发现问题是。我还是不明白为什么,但处理事件使其工作:

if (e.KeyCode == Keys.Home) 
{ 
    e.Handled = true; 
    dgvMain.FirstDisplayedScrollingRowIndex = 0; 
} 

Home不会做任何事情(据我所知),但是当我处理它一切正常。为什么?我不知道。

+1

我真的很感谢那些一旦找到解决方案就回答自己的问题的人。 :)如果我们发现有人遇到同样的问题,但即使他们找到答案后也没有答案,这将会很麻烦:( –

+0

*是程序员最大的在线问答资源,所以提供答案与找到答案一样重要。谢谢@ SriramSakthivel –

+0

@MahdiTahsildari - 当SelectionMode为CellSelect时,'HOME'键由'DataGridView'处理,用于导航到第一个单元格,在这种情况下,按'END'键移动到行的最后一个单元格 – Junaith