在datagridview中选择(高亮显示)相邻行
本文关键字:显示 高亮 datagridview 选择 | 更新日期: 2023-09-27 18:19:22
我想在datagridview中选择一组行。有一个专用的简单函数叫做
void SelectAdjacentRows(int i)
{
if (i == -1)
return;
dgw.Rows[i].Selected = true;
if (i < dgw.Rows.Count - 1)
dgw.Rows[i + 1].Selected = true;
}
它正在从CellClick事件中调用,并且行被正确选择。但是当我使用上/下键在网格视图中导航时,选择就丢失了。我试图使用rowstatechange事件,但随后我遇到了无限循环,即使我删除了事件订阅,像这样:
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
if (e.StateChanged == DataGridViewElementStates.Selected)
{
dgw.RowStateChanged -= dataGridView1_RowStateChanged;
SelectAdjacentRows(e.Row.Index);
dgw.RowStateChanged += dataGridView1_RowStateChanged;
}
}
如何在使用上/下键导航时进行选择?
我在处理DataGridView上的*State事件时运气不太好。我建议查看SelectionChanged事件