c# 如何使 DataGridViewRow 不可选择

本文关键字:可选择 DataGridViewRow 何使 | 更新日期: 2023-09-27 18:36:28

有没有办法防止用户选择特定dgvRow中的单元格。
行是只读的,但仍可选。

c# 如何使 DataGridViewRow 不可选择

您可以添加一个自定义委托,每当更改选择时,该委托都会取消选择有问题的单元格。

DataGridView1.SelectionChanged += new EventHandler(DataGridView1_SelectionChanged);
private void DataGridView1_SelectionChanged(object sender, EventArgs e){
    List<DataGridViewCell> toBeRemoved = new List<DataGridViewCell>();
    foreach(DataGridViewCell selectedCell in DataGridView1.SelectedCells){
        if (isCellUnSelectable(selectedCell))
            toBeRemoved.Add(selectedCell);
    }
    foreach(DataGridViewCell cell in toBeRemoved){
        cell.Selected = false;
    }
}