我想突出显示一行,而不是删除突出显示,直到我再次点击该行。
我尝试使用CLICK事件并添加SELECTED = true,但每次选择另一行时,它会将所选内容删除为false。
谢谢,
答案 0 :(得分:1)
我必须承认,我对这个解决方案不满意,因为有一个短暂的眨眼,但至少它会选择你想要的方式:
List<DataGridViewRow> selectedRows = new List<DataGridViewRow>();
void selectRows()
{
dataGridView1.SuspendLayout();
foreach (DataGridViewRow r in dataGridView1.Rows)
r.Selected = selectedRows.Contains(r);
dataGridView1.ResumeLayout();
}
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
DataGridViewRow clickedRow = dataGridView1.CurrentRow;
if (selectedRows.Contains(clickedRow))
selectedRows.Remove(clickedRow);
else
selectedRows.Add(clickedRow);
selectRows();
}