如何:获取和设置 Windows 窗体 DataGridView 控件中的当前单元格
与 DataGridView 的交互通常需要以编程方式发现当前处于活动状态的单元格。 可能还需要更改当前单元格。 可以使用 CurrentCell 属性执行这些任务。
注意
不能在其 Visible 属性设置为 false
的行或列中设置当前单元格。
可以根据 DataGridView 控件的选择模式,通过更改当前单元格来更改所选内容。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件中的选择模式。
以编程方式获取当前单元格
使用 DataGridView 控件的 CurrentCell 属性。
private void getCurrentCellButton_Click(object sender, System.EventArgs e) { string msg = String.Format("Row: {0}, Column: {1}", dataGridView1.CurrentCell.RowIndex, dataGridView1.CurrentCell.ColumnIndex); MessageBox.Show(msg, "Current Cell"); }
Private Sub getCurrentCellButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles getCurrentCellButton.Click Dim msg As String = String.Format("Row: {0}, Column: {1}", _ dataGridView1.CurrentCell.RowIndex, _ dataGridView1.CurrentCell.ColumnIndex) MessageBox.Show(msg, "Current Cell") End Sub
以编程方式设置当前单元格
设置 DataGridView 控件的 CurrentCell 属性。 在下面的代码示例中,当前单元格设置为第 0 行,第 1 列。
private void setCurrentCellButton_Click(object sender, System.EventArgs e) { // Set the current cell to the cell in column 1, Row 0. this.dataGridView1.CurrentCell = this.dataGridView1[1,0]; }
Private Sub setCurrentCellButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles setCurrentCellButton.Click ' Set the current cell to the cell in column 1, Row 0. Me.dataGridView1.CurrentCell = Me.dataGridView1(1, 0) End Sub
编译代码
此示例需要:
名为
getCurrentCellButton
和setCurrentCellButton
的 Button 控件。 在 Visual C# 中,必须将每个按钮的 Click 事件附加到示例代码中的关联事件处理程序。名为
dataGridView1
的 DataGridView 控件。对 System 和 System.Windows.Forms 程序集的引用。