DataGridView CellSelect and FullRowSelect

本文关键字:FullRowSelect and CellSelect DataGridView | 更新日期: 2023-09-27 18:18:32

所以我有几个数据视图,我们已经设置为FullRowSelect。用户现在要求能够在单个单元格上选择复制功能。

我将DataGridView设置为CellSelect,但当我运行应用程序时,当我单击行标题时,它不会突出显示完整行,只有第一列。

我尝试使用CellMouseClickRowHeaderMouseClick来获得选择模式的移位,但为了让RowHeaderMouseClick完全选择它,我不得不多次点击行标题。

private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

我怎么能很容易或不那么容易切换之间来回CellSelectFullRowSelect取决于他们在网格上选择了什么?

DataGridView CellSelect and FullRowSelect

如果我理解你,你想要能够选择单个单元格,但也很容易选择一个完整的行?

如果是这种情况,将SelectionMode设置为RowHeaderSelect

DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

1-你实际上是在使用DataGridView结构,而不是你的对象DataGridView。

2- SelectionMode不应该在每次用户单击一行时修改,而应该在程序的构造函数中修改。

例子
public MyForm()
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

添加这一行代码。

this.dataGridView1.SelectionMode = isTrue == true ? DataGridViewSelectionMode.FullRowSelect : DataGridViewSelectionMode.RowHeaderSelect;