C#dataGridview选中整行变色
时间: 2025-01-05 21:48:33 浏览: 9
在C#的WinForms应用程序中,`DataGridView`控件是一个常用的数据显示控件。为了在用户选中某一行时改变该行的背景颜色,可以通过处理`SelectionChanged`事件来实现。以下是一个简单的示例代码,演示如何实现选中整行变色的功能:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
public class DataGridViewExample : Form
{
private DataGridView dataGridView;
public DataGridViewExample()
{
dataGridView = new DataGridView
{
Dock = DockStyle.Fill,
SelectionMode = DataGridViewSelectionMode.FullRowSelect
};
// 添加示例数据
dataGridView.Columns.Add("Column1", "Column 1");
dataGridView.Columns.Add("Column2", "Column 2");
dataGridView.Rows.Add("Data1", "Data2");
dataGridView.Rows.Add("Data3", "Data4");
// 绑定事件
dataGridView.SelectionChanged += DataGridView_SelectionChanged;
this.Controls.Add(dataGridView);
this.Text = "DataGridView Example";
this.Size = new Size(400, 300);
}
private void DataGridView_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView.SelectedRows)
{
row.DefaultCellStyle.BackColor = Color.LightBlue;
}
// 重置未选中行的颜色
foreach (DataGridViewRow row in dataGridView.Rows)
{
if (!row.Selected)
{
row.DefaultCellStyle.BackColor = Color.White;
}
}
}
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new DataGridViewExample());
}
}
```
在这个示例中,我们创建了一个`DataGridView`控件,并添加了一些示例数据。通过绑定`SelectionChanged`事件,当用户选择某一行时,该行的背景颜色会变为浅蓝色,而未选中的行则恢复为白色。
阅读全文