C# 在datagridview中选择(hightlight)相邻行

C# 在datagridview中选择(hightlight)相邻行,c#,datagridview,C#,Datagridview,我想在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; } 如何在使用上/下键导航时进行选择?我在处理DataGridView上的*状

我想在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;
}

如何在使用上/下键导航时进行选择?

我在处理DataGridView上的*状态事件时运气不太好。我建议调查一下这个问题

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;
        }
}