Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制DataGridView整行选择_C#_Datagridview_User Controls - Fatal编程技术网

C# 强制DataGridView整行选择

C# 强制DataGridView整行选择,c#,datagridview,user-controls,C#,Datagridview,User Controls,我有一个datagridview显示在一个UI中,其中有一个设备列表。我想强制用户选择整行而不是单个单元格。。。谷歌搜索一段时间后,似乎无法使用datagridview提供的方法强制选择行 我这样做了,有50%的时间是有效的,有些时候却不行。有什么想法吗 private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { dataGridView1.Rows[dataGridView1

我有一个datagridview显示在一个UI中,其中有一个设备列表。我想强制用户选择整行而不是单个单元格。。。谷歌搜索一段时间后,似乎无法使用datagridview提供的方法强制选择行

我这样做了,有50%的时间是有效的,有些时候却不行。有什么想法吗

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[dataGridView1.SelectedCells[0].OwningRow.Index].Selected = true;
}

有一种简单的方法,只需将
SelectionMode
设置为
FullRowSelect

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

当用户单击DGV中的任何单元格时,此代码可以很好地选择整行:

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        dataGridView1.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect;
        dataGridView1.Rows[e.RowIndex].Selected = true;
    }
-或者-最简单的方法是(从项目的“属性”):


我是这么想的,但这并不总是有效。从datatable填充datagridview.datasource后,我可以单击列[0]中的所有行,而无需执行整行选择。一旦我在列[0]之外单击,它就会触发。