DataGridViewElementStates 枚举


指定 DataGridView 控件内某元素的用户界面 (UI) 状态。Specifies the user interface (UI) state of a element within a DataGridView control.

此枚举有一个 FlagsAttribute 属性,允许按位组合成员值。

public enum class DataGridViewElementStates
public enum DataGridViewElementStates
public enum DataGridViewElementStates
type DataGridViewElementStates = 
type DataGridViewElementStates = 
Public Enum DataGridViewElementStates


Displayed 1

指示元素当前显示在屏幕上。Indicates the an element is currently displayed onscreen.

Frozen 2

指示不能通过 UI 滚动元素。Indicates that an element cannot be scrolled through the UI.

None 0

指示元素处于它的默认状态。Indicates that an element is in its default state.

ReadOnly 4

指示元素不会接受用户输入来更改它的值。Indicates that an element will not accept user input to change its value.

Resizable 8

指示可以通过 UI 来调整元素大小。Indicates that an element can be resized through the UI. 除非该值与 ResizableSet 值结合,否则会忽略该值。This value is ignored except when combined with the ResizableSet value.

ResizableSet 16

指示元素没有继承其父级的大小可调状态。Indicates that an element does not inherit the resizable state of its parent.

Selected 32

指示元素处于选定的(突出显示的)UI 状态。Indicates that an element is in a selected (highlighted) UI state.

Visible 64

指示元素可见(可显示)。Indicates that an element is visible (displayable).


下面的代码示例演示如何使用此类型。The following code example illustrates the use of this type. 有关详细信息,请参阅 如何:根据 Windows 窗体 DataGridView 控件中的单元格的更改执行自定义操作For more information, see How to: Perform a Custom Action Based on Changes in a Cell of a Windows Forms DataGridView Control.

private void dataGridView1_CellStateChanged(object sender,
    DataGridViewCellStateChangedEventArgs e)
    DataGridViewElementStates state = e.StateChanged;
    string msg = String.Format("Row {0}, Column {1}, {2}",
        e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged);
    MessageBox.Show(msg, "Cell State Changed");
Private Sub dataGridView1_CellStateChanged(ByVal sender As Object, _
    ByVal e As DataGridViewCellStateChangedEventArgs) _
    Handles dataGridView1.CellStateChanged

    Dim state As DataGridViewElementStates = e.StateChanged
    Dim msg As String = String.Format( _
        "Row {0}, Column {1}, {2}", _
        e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged)
    MessageBox.Show(msg, "Cell State Changed")

End Sub


尽管这些不同状态(如冻结)由 UI 强制执行,但它们可以以编程方式无效。Although these different states, like Frozen, are enforced by the UI, they can be programmatically overruled.