如何:获取和设置 Windows 窗体 DataGridView 控件中的当前单元格

更新:2007 年 11 月

若要与 DataGridView 进行交互,通常要求通过编程方式发现哪个单元格当前处于活动状态。您可能还需要更改当前单元格。可通过 CurrentCell 属性执行这些任务。

说明:

您不能在 Visible 属性设置为 false 的行或列中设置当前单元格。

根据 DataGridView 控件的选择模式的不同,更改当前单元格可能会更改选择。有关更多信息,请参见 Windows 窗体 DataGridView 控件中的选择模式

通过编程方式获取当前单元格

  • 使用 DataGridView 控件的 CurrentCell 属性。

    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
    
    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");
    }
    

通过编程方式设置当前单元格

  • 设置 DataGridView 控件的 CurrentCell 属性。在下面的代码示例中,当前单元格设置为 0 行 1 列。

    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
    
    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];
    }
    

编译代码

此示例需要:

  • 名为 getCurrentCellButton 和 setCurrentCellButton 的 Button 控件。在 Visual C# 中,您必须将每个按钮的 Click 事件附加到该代码示例中的关联事件处理程序。

  • 名为 dataGridView1 的 DataGridView 控件。

  • SystemSystem.Windows.Forms 程序集的引用。

请参见

概念

Windows 窗体 DataGridView 控件中的选择模式

参考

DataGridView

DataGridView.CurrentCell

其他资源

Windows 窗体 DataGridView 控件中的基本列、行和单元格功能