DataGridView的单元格选择和整行选择

9
我有几个数据网格视图,我们将其设置为FullRowSelect。用户现在要求能够选择单个单元格以进行复制功能。
我将DataGridView设置为CellSelect,但是当我运行应用程序时,当我单击行标题时,它不会突出显示整个行,只会突出显示第一列。
我尝试使用RowHeaderMouseClickCellMouseClick来获取选择模式的转换,但是为了让RowHeaderMouseClick完全选择,我必须多次单击行标头。
private void DataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

如何在网格中轻松或不那么容易地在CellSelectFullRowSelect之间来回切换,具体取决于他们选择的内容?

3个回答

18

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

如果是这样,请将SelectionMode设置为RowHeaderSelect


2

添加这行代码。

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

2
DataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

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

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

示例

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

1
我正在使用一个对象,示例中它被称为DataGridView。为了清晰起见,我将更改名称。至于选择模式,它将根据用户的需求而变化。他们可能会点击单元格,因此应该是CellSelect。如果他们点击行标题,则应该是FullRowSelect。 - Taryn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接