当前单元格指的是 DataGridView 焦点所在的单元格,它可以通过 DataGridView 对象的 CurrentCell 属性取得。如果当前单元格不存在的时候,返回 Nothing(C# null) [VB.NET]
' 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value)
' 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)
' 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex) [C#]
// 取得当前单元格内容
Console.WriteLine(DataGridView1.CurrentCell.Value);
// 取得当前单元格的列 Index
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);
// 取得当前单元格的行 Index
Console.WriteLine(DataGridView1.CurrentCell.RowIndex);
另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行: DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。

当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。可以通过 CurrentCell 来设定
DataGridView
的激活单元格。将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。 [VB.NET]
' 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1(0, 0) [C#]
// 设定 (0, 0) 为当前单元格
DataGridView1.CurrentCell = DataGridView1[0, 0];
在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定行。 /// <summary>
/// 向下遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index + 1;
if (row > this .dataGridView1.RowCount - 1)
row = 0;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}

/// <summary>
/// 向上遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button5_Click( object sender, EventArgs e)
{
int row = this .dataGridView1.CurrentRow.Index - 1;
if (row < 0)
row =
this .dataGridView1.RowCount - 1;
this .dataGridView1.CurrentCell = this .dataGridView1[0, row];
}
* 注意 : this.dataGridView 的索引器的参数是 : columnIndex, rowIndex 或是 columnName, rowIndex
这与习惯不同。
c#中在datagridview的表格动态增加一个按钮方法,如果想要这一套教程的可以移步去这里 《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家对代码有问题,想交流的可以进群,私聊我就可以了! 效果图片 : 在Load事件中写入代码 那ui有了功能怎么办呢?别急我们在 dataGridView1_CellContentClick事件中添加方法 这样的话 我们就可以点击对应行的修改来获取到id的值这里有一个bug就是第三行没数据需要隐藏,现在还没有解决,欢迎大家指出!.....