DataGridView.CurrentCell Property

Note: This property is new in the .NET Framework version 2.0.

Gets or sets the currently active cell.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

public DataGridViewCell CurrentCell { get; set; }
/** @property */
public DataGridViewCell get_CurrentCell ()

/** @property */
public void set_CurrentCell (DataGridViewCell value)

public function get CurrentCell () : DataGridViewCell

public function set CurrentCell (value : DataGridViewCell)

Property Value

The DataGridViewCell that represents the current cell, or a null reference (Nothing in Visual Basic) if there is no current cell. The default is the first cell in the first column or a null reference (Nothing in Visual Basic) if there are no cells in the control.

Exception typeCondition


The value of this property cannot be set because changes to the current cell cannot be committed or canceled.


The specified cell when setting this property is in a hidden row or column.


The specified cell when setting this property is not in the DataGridView.

When you set a cell as the current cell, it will scroll into view if it is not currently displayed. The current cell cannot be a header cell, a disabled cell, or a cell in a hidden row or column.

You can set this property to a null reference (Nothing in Visual Basic) to temporarily remove the focus rectangle, but when the control receives focus and the value of this property is a null reference (Nothing in Visual Basic), it is automatically set to the value of the FirstDisplayedCell property.

When you change the value of this property, the SelectionChanged event occurs before the CurrentCellChanged event. Any SelectionChanged event handler accessing the CurrentCell property at this time will get its previous value.

When you bind the DataGridView to an external data source, this property is reset to its default value.

The following code example illustrates how to ensure that the current cell is visible after sorting. This code works only with an unbound DataGridView control. With a DataGridView control bound to an external data source, the current cell is not automatically persisted when sorting.

To run this example, paste the following code into a form that contains a DataGridView named dataGridView1. In C#, you must also connect the Sorted event to the event handler.

private void dataGridView1_Sorted(object sender, EventArgs e)
    this.dataGridView1.FirstDisplayedCell = this.dataGridView1.CurrentCell;

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions