Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# dataGridView1中的选定单元格_C#_Datagridview - Fatal编程技术网

C# dataGridView1中的选定单元格

C# dataGridView1中的选定单元格,c#,datagridview,C#,Datagridview,嘿,伙计们,我正在尝试接收最后编辑的单元格的列/行 但是,当我使用下面的代码时,我收到的是我下一步(通过单击)选择的单元格,因为它是被选择的单元格 有办法吗?也许我只是没有dataGridView的正确属性 private void dataGridView1_CellEndEdit_1(object sender, DataGridViewCellEventArgs e) { int column = dataGridView1.SelectedCells[0].Column

嘿,伙计们,我正在尝试接收最后编辑的单元格的列/行 但是,当我使用下面的代码时,我收到的是我下一步(通过单击)选择的单元格,因为它是被选择的单元格

有办法吗?也许我只是没有dataGridView的正确属性

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;