即使我选择了另一行,如何使一行保持高亮显示。C#datagridview
我希望高亮显示一行,并且在再次单击该行之前不会删除高亮显示 我尝试使用CLICK事件并添加SELECTED=true,但每次选择另一行时,它都会将SELECTED删除为false即使我选择了另一行,如何使一行保持高亮显示。C#datagridview,c#,datagridview,C#,Datagridview,我希望高亮显示一行,并且在再次单击该行之前不会删除高亮显示 我尝试使用CLICK事件并添加SELECTED=true,但每次选择另一行时,它都会将SELECTED删除为false 谢谢,我必须承认我对这个解决方案不满意,因为有一个短暂的闪烁,但至少它选择了你想要的方式: List<DataGridViewRow> selectedRows = new List<DataGridViewRow>(); void selectRows() { dataGridVie
谢谢,我必须承认我对这个解决方案不满意,因为有一个短暂的闪烁,但至少它选择了你想要的方式:
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();
}
List selectedRows=new List();
void selectRows()
{
dataGridView1.SuspendLayout();
foreach(dataGridView1.Rows中的DataGridViewRow r)
r、 Selected=selectedRows.Contains(r);
dataGridView1.ResumeLayout();
}
private void DataGridView1u鼠标单击(对象发送方,鼠标目标)
{
DataGridViewRow clickedRow=dataGridView1.CurrentRow;
如果(selectedRows.Contains(clickedRow))
选择移动。删除(单击移动);
其他的
选择箭头。添加(单击箭头);
选择行();
}
问问题时,至少要努力一点。展示你已经尝试过的东西和你面临的障碍。看到它不起作用,因为它需要改变。。我想模仿一个复选框风格。我试图用另一种方法来做的是,我在datagridview中添加了一列,并在选中时使用X。但是当再次单击时,我没有得到刚才保存的X。dataGridViewInventario.Rows[dataGridViewInventario.CurrentRow.Index]。单元格[0]。Value=“X”;允许多选(!)并设置行。已选=!行。在鼠标单击事件中选择!它不起作用,因为它需要shift No。任何类型的多重选择都需要多重选择,无论是否使用shift或ctrl键