点击datagridview 颜色
时间: 2024-12-16 17:09:48 浏览: 10
在C#的WinForms应用程序中,`DataGridView`控件用于显示和操作数据。可以通过设置`DataGridView`的属性来改变行或单元格的颜色。以下是如何在点击`DataGridView`时改变行或单元格颜色的示例代码:
### 1. 改变点击行的颜色
```csharp
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// 清除之前选中的行的背景色
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.DefaultCellStyle.BackColor = Color.White;
}
// 设置当前点击的行的背景色
if (e.RowIndex >= 0)
{
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightBlue;
}
}
```
### 2. 改变点击单元格的颜色
```csharp
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
// 清除之前选中的单元格的颜色
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
cell.Style.BackColor = Color.White;
}
}
// 设置当前点击的单元格的背景色
if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGreen;
}
}
```
### 3. 改变鼠标悬停行的颜色
```csharp
private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightGray;
}
}
private void dataGridView1_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
}
}
```
通过上述代码,你可以根据不同的需求改变`DataGridView`中行或单元格的颜色。
阅读全文