可以利用DataGridView控件的SelectionMode、ReadOnly和SelectionBackColor属性实现当选中DataGridView控件的行时显示不同的颜色。
►SelectionMode属性
SelectionMode属性用于设置如何选择DataGridView的单元格。语法如下:
public DataGridViewSelectionModeSelectionMode{get; set;}
其属性值是DataGridViewSelectionMode的值之一,默认为RowHeaderSelect。
DataGridViewSelectionMode的枚举值及说明
取值 | 说明 |
CellSelect | 可以选定一个或多个单元格 |
ColumnHeaderSelect | 可以通过单击列的标头单元格选定此列。通过单击某个单元格可以单独选定此单元格 |
FullColumnSelect | 通过单击列的标头或该列所包含的单元格选定整个列 |
FullRowSelect | 通过单击行的标头或是该行所包含的单元格选定整个行 |
RowHeaderSelect | 通过单击行的标头单元格选定此行。通过单击某个单元格可以单独选定此单元格 |
[注]:在更改SelectionMode属性的值时,会清除当前的选择,所以在更改行的颜色时,要注意更改和选中的顺序。
►ReadOnly属性
ReadOnly属性用于设置是否可以编辑DataGridView控件的单元格。语法如下:
public bool ReadOnly{get; set;}
其中,如果用户不能编辑DataGridView控件的单元格,设置为true,否则为false。默认为false。
►SelectionBackColor属性
SelectionBackColor属性用于设置DataGridView单元格在被选定时的背景色。语法如下:
public Color SelectionBackColor{get;set;}
其中,Color表示选定单元格的背景色,默认为Empty。
[注]:SelectionBackColor属性包含在DataGridViewCellStyle类中,所以调用此属性之前要调用DataGridViewCellStyle属性。
选择DataGridView控件中的某一行时显示不同的颜色,可以通过下面的代码如下:
//使控件能够整行选择
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//设置dataGridView1控件的ReadOnly属性为只读
dataGridView1.ReadOnly = true;
//设置dataGridView1控件的DefaultCellStyle.SelectionBackColor属性,使其选择行为黄绿色
dataGridView1.DefaultCellStyle.SelectionBackColor= Color.YellowGreen;