答案 0 :(得分:1)
您需要将SelectionXxxColors
设置为您为行设置的颜色。
您可以使用SelectionChanged
事件设置所选行的样式:
private void dataGridView2_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView2.SelectedRows)
{
row.DefaultCellStyle.SelectionBackColor = row.DefaultCellStyle.BackColor;
row.DefaultCellStyle.SelectionForeColor = SystemColors.ControlText;
// row.DefaultCellStyle.ForeColor;
}
foreach (DataGridViewRow row in dataGridView2.Rows)
row.DefaultCellStyle.Font = row.Selected ?
new Font(dataGridView2.Font, FontStyle.Bold) : dataGridView2.Font;
}
注1:如果可能,您应该在为所有行设置常规颜色时设置SelectionXXXXColors
,并且仅在选择更改时更改字体样式。
注意2:您可以使用SystemColors.ControlText
代替DefaultCellStyle.ForeColor
而不是实际设置它。