DataGridView.CurrentCell Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the currently active cell.
public:
property System::Windows::Forms::DataGridViewCell ^ CurrentCell { System::Windows::Forms::DataGridViewCell ^ get(); void set(System::Windows::Forms::DataGridViewCell ^ value); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.DataGridViewCell CurrentCell { get; set; }
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.DataGridViewCell? CurrentCell { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.CurrentCell : System.Windows.Forms.DataGridViewCell with get, set
Public Property CurrentCell As DataGridViewCell
Property Value
The DataGridViewCell that represents the current cell, or null
if there is no current cell. The default is the first cell in the first column or null
if there are no cells in the control.
- Attributes
Exceptions
The value of this property cannot be set because changes to the current cell cannot be committed or canceled.
-or-
The specified cell when setting this property is in a hidden row or column.
Re-entrant calling is only allowed when the DataGridView is bound to a DataSource. Re-entrant calling results from a change to the underlying data.
The specified cell when setting this property is not in the DataGridView.
Examples
The following code example illustrates how to ensure that the current cell is visible after sorting by setting the FirstDisplayedCell property to the cell retrieved through the CurrentCell property. 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;
}
Private Sub dataGridView1_Sorted(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles dataGridView1.Sorted
Me.dataGridView1.FirstDisplayedCell = Me.dataGridView1.CurrentCell
End Sub
Remarks
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 null
to temporarily remove the focus rectangle, but when the control receives focus and the value of this property is null
, 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.