DataGridViewCheckBoxCell Class

Definition

Displays a check box user interface (UI) to use in a DataGridView control.

public ref class DataGridViewCheckBoxCell : System::Windows::Forms::DataGridViewCell, System::Windows::Forms::IDataGridViewEditingCell
public class DataGridViewCheckBoxCell : System.Windows.Forms.DataGridViewCell, System.Windows.Forms.IDataGridViewEditingCell
type DataGridViewCheckBoxCell = class
    inherit DataGridViewCell
    interface IDataGridViewEditingCell
Public Class DataGridViewCheckBoxCell
Inherits DataGridViewCell
Implements IDataGridViewEditingCell
Inheritance
DataGridViewCheckBoxCell
Implements

Examples

The following code example uses a DataGridViewCheckBoxColumn to track which employees are in the office. The column is made up of DataGridViewCheckBoxCell objects. This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.

private:
    void AddOutOfOfficeColumn()
    {
        DataGridViewCheckBoxColumn^ column = gcnew DataGridViewCheckBoxColumn();
        {
            column->HeaderText = ColumnName::OutOfOffice.ToString();
            column->Name = ColumnName::OutOfOffice.ToString();
            column->AutoSizeMode = 
                DataGridViewAutoSizeColumnMode::DisplayedCells;
            column->FlatStyle = FlatStyle::Standard;
            column->ThreeState = true;
            column->CellTemplate = gcnew DataGridViewCheckBoxCell();
            column->CellTemplate->Style->BackColor = Color::Beige;
        }

        DataGridView1->Columns->Insert(0, column);
    }
private void AddOutOfOfficeColumn()
{
    DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();
    {
        column.HeaderText = ColumnName.OutOfOffice.ToString();
        column.Name = ColumnName.OutOfOffice.ToString();
        column.AutoSizeMode = 
            DataGridViewAutoSizeColumnMode.DisplayedCells;
        column.FlatStyle = FlatStyle.Standard;
        column.ThreeState = true;
        column.CellTemplate = new DataGridViewCheckBoxCell();
        column.CellTemplate.Style.BackColor = Color.Beige;
    }

    DataGridView1.Columns.Insert(0, column);
}
Private Sub AddOutOfOfficeColumn()
    Dim column As New DataGridViewCheckBoxColumn()
    With column
        .HeaderText = ColumnName.OutOfOffice.ToString()
        .Name = ColumnName.OutOfOffice.ToString()
        .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
        .FlatStyle = FlatStyle.Standard
        .CellTemplate = New DataGridViewCheckBoxCell()
        .CellTemplate.Style.BackColor = Color.Beige
    End With

    DataGridView1.Columns.Insert(0, column)
End Sub

Remarks

The DataGridViewCheckBoxCell class is a specialized type of DataGridViewCell used to display binary or ternary information presented through a check box UI. In the default binary mode, the cells can hold values of true or false. In ternary mode, the cells take on one of the CheckState values. The ThreeState property determines whether binary or ternary mode is in effect.

The DataGridViewCheckBoxColumn is the column type specialized to hold cells of this type. By default, the DataGridViewCheckBoxColumn.CellTemplate is initialized to a new DataGridViewCheckBoxCell. To pattern the cells within a column after an existing DataGridViewCheckBoxCell, set the column's CellTemplate property to the cell to use as a pattern.

The cell-related properties of the column are wrappers for the similarly-named properties of the template cell. Changing the property values of the template cell will affect only cells based on the template that are added after the change. Changing the cell-related property values of the column, however, will update the template cell and all other cells in the column, and refresh the column display if necessary.

When the current cell is a DataGridViewCheckBoxCell, the DataGridView.IsCurrentCellInEditMode property is always true.

Typically, check box cell values are intended either for storage, like any other data, or for performing bulk operations. If you want to respond immediately when users click a check box cell, you can handle the DataGridView.CellClick event, but this event occurs before the cell value is updated. If you need the new value at the time of the click, one option is to calculate what the expected value will be based on the current value. Another approach is to commit the change immediately, and handle the DataGridView.CellValueChanged event to respond to it. To commit the change when the cell is clicked, you must handle the DataGridView.CurrentCellDirtyStateChanged event. In the handler, if the current cell is a check box cell, call the DataGridView.CommitEdit method and pass in the Commit value.

Notes to Inheritors

When you derive from DataGridViewCheckBoxCell and add new properties to the derived class, be sure to override the Clone() method to copy the new properties during cloning operations. You should also call the base class's Clone() method so that the properties of the base class are copied to the new cell.

Constructors

DataGridViewCheckBoxCell()

Initializes a new instance of the DataGridViewCheckBoxCell class to its default state.

DataGridViewCheckBoxCell(Boolean)

Initializes a new instance of the DataGridViewCheckBoxCell class, enabling binary or ternary state.

Properties

AccessibilityObject

Gets the DataGridViewCell.DataGridViewCellAccessibleObject assigned to the DataGridViewCell.

(Inherited from DataGridViewCell)
ColumnIndex

Gets the column index for this cell.

(Inherited from DataGridViewCell)
ContentBounds

Gets the bounding rectangle that encloses the cell's content area.

(Inherited from DataGridViewCell)
ContextMenuStrip

Gets or sets the shortcut menu associated with the cell.

(Inherited from DataGridViewCell)
DataGridView

Gets the DataGridView control associated with this element.

(Inherited from DataGridViewElement)
DefaultNewRowValue

Gets the default value for a cell in the row for new records.

(Inherited from DataGridViewCell)
Displayed

Gets a value that indicates whether the cell is currently displayed on-screen.

(Inherited from DataGridViewCell)
EditedFormattedValue

Gets the current, formatted value of the cell, regardless of whether the cell is in edit mode and the value has not been committed.

(Inherited from DataGridViewCell)
EditingCellFormattedValue

Gets or sets the formatted value of the control hosted by the cell when it is in edit mode.

EditingCellValueChanged

Gets or sets a flag indicating that the value has been changed for this cell.

EditType

Gets the type of the cell's hosted editing control.

ErrorIconBounds

Gets the bounds of the error icon for the cell.

(Inherited from DataGridViewCell)
ErrorText

Gets or sets the text describing an error condition associated with the cell.

(Inherited from DataGridViewCell)
FalseValue

Gets or sets the underlying value corresponding to a cell value of false.

FlatStyle

Gets or sets the flat style appearance of the check box user interface (UI).

FormattedValue

Gets the value of the cell as formatted for display.

(Inherited from DataGridViewCell)
FormattedValueType

Gets the type of the cell display value.

Frozen

Gets a value indicating whether the cell is frozen.

(Inherited from DataGridViewCell)
HasStyle

Gets a value indicating whether the Style property has been set.

(Inherited from DataGridViewCell)
IndeterminateValue

Gets or sets the underlying value corresponding to an indeterminate or null cell value.

InheritedState

Gets the current state of the cell as inherited from the state of its row and column.

(Inherited from DataGridViewCell)
InheritedStyle

Gets the style currently applied to the cell.

(Inherited from DataGridViewCell)
IsInEditMode

Gets a value indicating whether this cell is currently being edited.

(Inherited from DataGridViewCell)
OwningColumn

Gets the column that contains this cell.

(Inherited from DataGridViewCell)
OwningRow

Gets the row that contains this cell.

(Inherited from DataGridViewCell)
PreferredSize

Gets the size, in pixels, of a rectangular area into which the cell can fit.

(Inherited from DataGridViewCell)
ReadOnly

Gets or sets a value indicating whether the cell's data can be edited.

(Inherited from DataGridViewCell)
Resizable

Gets a value indicating whether the cell can be resized.

(Inherited from DataGridViewCell)
RowIndex

Gets the index of the cell's parent row.

(Inherited from DataGridViewCell)
Selected

Gets or sets a value indicating whether the cell has been selected.

(Inherited from DataGridViewCell)
Size

Gets the size of the cell.

(Inherited from DataGridViewCell)
State

Gets the user interface (UI) state of the element.

(Inherited from DataGridViewElement)
Style

Gets or sets the style for the cell.

(Inherited from DataGridViewCell)
Tag

Gets or sets the object that contains supplemental data about the cell.

(Inherited from DataGridViewCell)
ThreeState

Gets or sets a value indicating whether ternary mode has been enabled for the hosted check box control.

ToolTipText

Gets or sets the ToolTip text associated with this cell.

(Inherited from DataGridViewCell)
TrueValue

Gets or sets the underlying value corresponding to a cell value of true.

Value

Gets or sets the value associated with this cell.

(Inherited from DataGridViewCell)
ValueType

Gets the data type of the values in the cell.

Visible

Gets a value indicating whether the cell is in a row or column that has been hidden.

(Inherited from DataGridViewCell)

Methods

AdjustCellBorderStyle(DataGridViewAdvancedBorderStyle, DataGridViewAdvancedBorderStyle, Boolean, Boolean, Boolean, Boolean)

Modifies the input cell border style according to the specified criteria.

(Inherited from DataGridViewCell)
BorderWidths(DataGridViewAdvancedBorderStyle)

Returns a Rectangle that represents the widths of all the cell margins.

(Inherited from DataGridViewCell)
ClickUnsharesRow(DataGridViewCellEventArgs)

Indicates whether the cell's row will be unshared when the cell is clicked.

(Inherited from DataGridViewCell)
Clone()

Creates an exact copy of this cell.

ContentClickUnsharesRow(DataGridViewCellEventArgs)

Indicates whether the row containing the cell will be unshared when the cell content is clicked.

ContentDoubleClickUnsharesRow(DataGridViewCellEventArgs)

Indicates whether the row containing the cell will be unshared when the cell content is double-clicked.

CreateAccessibilityInstance()

Creates a new accessible object for the DataGridViewCheckBoxCell.

DetachEditingControl()

Removes the cell's editing control from the DataGridView.

(Inherited from DataGridViewCell)
Dispose()

Releases all resources used by the DataGridViewCell.

(Inherited from DataGridViewCell)
Dispose(Boolean)

Releases the unmanaged resources used by the DataGridViewCell and optionally releases the managed resources.

(Inherited from DataGridViewCell)
DoubleClickUnsharesRow(DataGridViewCellEventArgs)

Indicates whether the cell's row will be unshared when the cell is double-clicked.

(Inherited from DataGridViewCell)
EnterUnsharesRow(Int32, Boolean)

Indicates whether the parent row will be unshared when the focus moves to the cell.

(Inherited from DataGridViewCell)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetClipboardContent(Int32, Boolean, Boolean, Boolean, Boolean, String)

Retrieves the formatted value of the cell to copy to the Clipboard.

(Inherited from DataGridViewCell)
GetContentBounds(Graphics, DataGridViewCellStyle, Int32)

Returns the bounding rectangle that encloses the cell's content area, which is calculated using the specified Graphics and cell style.

GetContentBounds(Int32)

Returns the bounding rectangle that encloses the cell's content area using a default Graphics and cell style currently in effect for the cell.

(Inherited from DataGridViewCell)
GetEditedFormattedValue(Int32, DataGridViewDataErrorContexts)

Returns the current, formatted value of the cell, regardless of whether the cell is in edit mode and the value has not been committed.

(Inherited from DataGridViewCell)
GetEditingCellFormattedValue(DataGridViewDataErrorContexts)

Gets the formatted value of the cell while it is in edit mode.

GetErrorIconBounds(Graphics, DataGridViewCellStyle, Int32)

Returns the bounding rectangle that encloses the cell's error icon, if one is displayed.

GetErrorText(Int32)

Returns a string that represents the error for the cell.

(Inherited from DataGridViewCell)
GetFormattedValue(Object, Int32, DataGridViewCellStyle, TypeConverter, TypeConverter, DataGridViewDataErrorContexts)

Gets the formatted value of the cell's data.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetInheritedContextMenuStrip(Int32)

Gets the inherited shortcut menu for the current cell.

(Inherited from DataGridViewCell)
GetInheritedState(Int32)

Returns a value indicating the current state of the cell as inherited from the state of its row and column.

(Inherited from DataGridViewCell)
GetInheritedStyle(DataGridViewCellStyle, Int32, Boolean)

Gets the style applied to the cell.

(Inherited from DataGridViewCell)
GetPreferredSize(Graphics, DataGridViewCellStyle, Int32, Size)

Calculates the preferred size, in pixels, of the cell.

GetSize(Int32)

Gets the size of the cell.

(Inherited from DataGridViewCell)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(Int32)

Gets the value of the cell.

(Inherited from DataGridViewCell)
InitializeEditingControl(Int32, Object, DataGridViewCellStyle)

Initializes the control used to edit the cell.

(Inherited from DataGridViewCell)
KeyDownUnsharesRow(KeyEventArgs, Int32)

Indicates whether the row containing the cell is unshared when a key is pressed while the cell has focus.

KeyEntersEditMode(KeyEventArgs)

Determines if edit mode should be started based on the given key.

(Inherited from DataGridViewCell)
KeyPressUnsharesRow(KeyPressEventArgs, Int32)

Indicates whether a row will be unshared if a key is pressed while a cell in the row has focus.

(Inherited from DataGridViewCell)
KeyUpUnsharesRow(KeyEventArgs, Int32)

Indicates whether the row containing the cell is unshared when a key is released while the cell has focus.

LeaveUnsharesRow(Int32, Boolean)

Indicates whether a row will be unshared when the focus leaves a cell in the row.

(Inherited from DataGridViewCell)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
MouseClickUnsharesRow(DataGridViewCellMouseEventArgs)

Indicates whether a row will be unshared if the user clicks a mouse button while the pointer is on a cell in the row.

(Inherited from DataGridViewCell)
MouseDoubleClickUnsharesRow(DataGridViewCellMouseEventArgs)

Indicates whether a row will be unshared if the user double-clicks a cell in the row.

(Inherited from DataGridViewCell)
MouseDownUnsharesRow(DataGridViewCellMouseEventArgs)

Indicates whether the row containing the cell will be unshared when the mouse button is pressed while the pointer is over the cell.

MouseEnterUnsharesRow(Int32)

Indicates whether the row containing the cell will be unshared when the mouse pointer moves over the cell.

MouseLeaveUnsharesRow(Int32)

Indicates whether the row containing the cell will be unshared when the mouse pointer leaves the cell.

MouseMoveUnsharesRow(DataGridViewCellMouseEventArgs)

Indicates whether a row will be unshared when the mouse pointer moves over a cell in the row.

(Inherited from DataGridViewCell)
MouseUpUnsharesRow(DataGridViewCellMouseEventArgs)

Indicates whether the row containing the cell will be unshared when the mouse button is released while the pointer is over the cell.

OnClick(DataGridViewCellEventArgs)

Called when the cell is clicked.

(Inherited from DataGridViewCell)
OnContentClick(DataGridViewCellEventArgs)

Called when the cell's contents are clicked.

OnContentDoubleClick(DataGridViewCellEventArgs)

Called when the cell's contents are double-clicked.

OnDataGridViewChanged()

Called when the DataGridView property of the cell changes.

(Inherited from DataGridViewCell)
OnDoubleClick(DataGridViewCellEventArgs)

Called when the cell is double-clicked.

(Inherited from DataGridViewCell)
OnEnter(Int32, Boolean)

Called when the focus moves to a cell.

(Inherited from DataGridViewCell)
OnKeyDown(KeyEventArgs, Int32)

Called when a character key is pressed while the focus is on a cell.

OnKeyPress(KeyPressEventArgs, Int32)

Called when a key is pressed while the focus is on a cell.

(Inherited from DataGridViewCell)
OnKeyUp(KeyEventArgs, Int32)

Called when a character key is released while the focus is on a cell.

OnLeave(Int32, Boolean)

Called when the focus moves from a cell.

OnMouseClick(DataGridViewCellMouseEventArgs)

Called when the user clicks a mouse button while the pointer is on a cell.

(Inherited from DataGridViewCell)
OnMouseDoubleClick(DataGridViewCellMouseEventArgs)

Called when the user double-clicks a mouse button while the pointer is on a cell.

(Inherited from DataGridViewCell)
OnMouseDown(DataGridViewCellMouseEventArgs)

Called when the mouse button is held down while the pointer is on a cell.

OnMouseEnter(Int32)

Called when the mouse pointer moves over a cell.

(Inherited from DataGridViewCell)
OnMouseLeave(Int32)

Called when the mouse pointer moves from a cell.

OnMouseMove(DataGridViewCellMouseEventArgs)

Called when the mouse pointer moves within a cell.

OnMouseUp(DataGridViewCellMouseEventArgs)

Called when the mouse button is released while the pointer is on a cell.

Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)

Paints the current DataGridViewCheckBoxCell.

PaintBorder(Graphics, Rectangle, Rectangle, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle)

Paints the border of the current DataGridViewCell.

(Inherited from DataGridViewCell)
PaintErrorIcon(Graphics, Rectangle, Rectangle, String)

Paints the error icon of the current DataGridViewCell.

(Inherited from DataGridViewCell)
ParseFormattedValue(Object, DataGridViewCellStyle, TypeConverter, TypeConverter)

Converts a value formatted for display to an actual cell value.

PositionEditingControl(Boolean, Boolean, Rectangle, Rectangle, DataGridViewCellStyle, Boolean, Boolean, Boolean, Boolean)

Sets the location and size of the editing control hosted by a cell in the DataGridView control.

(Inherited from DataGridViewCell)
PositionEditingPanel(Rectangle, Rectangle, DataGridViewCellStyle, Boolean, Boolean, Boolean, Boolean)

Sets the location and size of the editing panel hosted by the cell, and returns the normal bounds of the editing control within the editing panel.

(Inherited from DataGridViewCell)
PrepareEditingCellForEdit(Boolean)

This method is not meaningful for this type.

RaiseCellClick(DataGridViewCellEventArgs)

Raises the CellClick event.

(Inherited from DataGridViewElement)
RaiseCellContentClick(DataGridViewCellEventArgs)

Raises the CellContentClick event.

(Inherited from DataGridViewElement)
RaiseCellContentDoubleClick(DataGridViewCellEventArgs)

Raises the CellContentDoubleClick event.

(Inherited from DataGridViewElement)
RaiseCellValueChanged(DataGridViewCellEventArgs)

Raises the CellValueChanged event.

(Inherited from DataGridViewElement)
RaiseDataError(DataGridViewDataErrorEventArgs)

Raises the DataError event.

(Inherited from DataGridViewElement)
RaiseMouseWheel(MouseEventArgs)

Raises the MouseWheel event.

(Inherited from DataGridViewElement)
SetValue(Int32, Object)

Sets the value of the cell.

(Inherited from DataGridViewCell)
ToString()

Returns the string representation of the cell.

Applies to

See also