要保持DataGridView的行选中,您可以使用SelectionChanged事件来实现。以下是一个示例代码:
private int selectedRowIndex = -1; // 保存选中行的索引
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
selectedRowIndex = dataGridView1.SelectedRows[0].Index;
}
}
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
if (selectedRowIndex >= 0 && selectedRowIndex < dataGridView1.Rows.Count)
{
// 重新选中之前选中的行
dataGridView1.Rows[selectedRowIndex].Selected = true;
}
}
在上面的示例中,我们使用selectedRowIndex变量来保存选中行的索引。在SelectionChanged事件中,我们将选中行的索引保存到selectedRowIndex。然后,在DataBindingComplete事件中,我们检查selectedRowIndex的值,并重新选中之前选中的行。
请注意,此示例假设您的DataGridView已绑定到数据源。如果您的DataGridView没有绑定数据源,您可以将上述代码中的dataGridView1.Rows替换为适当的数据行集合。