C# dataGridView1中的选定单元格
嘿,伙计们,我正在尝试接收最后编辑的单元格的列/行 但是,当我使用下面的代码时,我收到的是我下一步(通过单击)选择的单元格,因为它是被选择的单元格 有办法吗?也许我只是没有dataGridView的正确属性C# dataGridView1中的选定单元格,c#,datagridview,C#,Datagridview,嘿,伙计们,我正在尝试接收最后编辑的单元格的列/行 但是,当我使用下面的代码时,我收到的是我下一步(通过单击)选择的单元格,因为它是被选择的单元格 有办法吗?也许我只是没有dataGridView的正确属性 private void dataGridView1_CellEndEdit_1(object sender, DataGridViewCellEventArgs e) { int column = dataGridView1.SelectedCells[0].Column
private void dataGridView1_CellEndEdit_1(object sender, DataGridViewCellEventArgs e)
{
int column = dataGridView1.SelectedCells[0].ColumnIndex;
int row = dataGridView1.SelectedCells[0].RowIndex;
}
DataGridViewCellEventArgs
为与单元格和行操作相关的DataGridView事件提供数据。它公开了两个属性ColumnIndex
和RowIndex
int column = e.ColumnIndex;
int row = e.RowIndex;
更多:正如@Mr_Green所指出的,
e.ColumnIndex
和e.RowIndex
将是-1
的列标题和行标题
感谢Kaf和@user574632,你们是否介意解释为什么参数e而不是dataGridView1起作用?请阅读[MSDN文档]()了解详细信息。@KelseyAbreu如果你们不介意,我想指出这些索引从0开始。因此,如果单击并编辑左上角的单元格,将得到column=0和row=0@Sylca AFAIK,这些索引从-1
开始,包括RowHeader和ColumnHeader。因此,为了避免错误,最好在编码时设置if(e.ColumnIndex>-1&&e.RowIndex>-1)
。@格林先生,谢谢您的精心讲解。我很感激。
int column = e.ColumnIndex;
int row = e.RowIndex;