Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.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# 能够选择一行,但不应为';t在DataGridView中选择该行的最后一列_C#_Winforms_Datagridview_Fullrowselect - Fatal编程技术网

C# 能够选择一行,但不应为';t在DataGridView中选择该行的最后一列

C# 能够选择一行,但不应为';t在DataGridView中选择该行的最后一列,c#,winforms,datagridview,fullrowselect,C#,Winforms,Datagridview,Fullrowselect,我有大约5列的DataGridView,最后一列是DataGridViewLinkColumn类型。所以这里的要求是,我应该能够选择我想要的任何一行,当我这样做时,除了所选行中的最后一列之外,所有列都应该被选择。由于最后一列包含超链接文本,并且编写了一些用于运行的函数 目前,我已将选择模式设置为FullRowSelect 为了达到要求,我尝试将模式设置为CellSelect,并在CellContentClick中为选定行的特定列设置“Selected”属性。但是选择没有正确进行。我一点击它就会消

我有大约5列的DataGridView,最后一列是DataGridViewLinkColumn类型。所以这里的要求是,我应该能够选择我想要的任何一行,当我这样做时,除了所选行中的最后一列之外,所有列都应该被选择。由于最后一列包含超链接文本,并且编写了一些用于运行的函数

目前,我已将选择模式设置为FullRowSelect

为了达到要求,我尝试将模式设置为CellSelect,并在CellContentClick中为选定行的特定列设置“Selected”属性。但是选择没有正确进行。我一点击它就会消失。我也试着在CellMouseUp中加入同样的逻辑,但也没用

请向我建议实现要求的方法或解决方法


非常感谢

首先将
SelectionMode
设置为
CellSelect
。然后对
SelectionChanged
事件进行编码:

private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
    foreach (DataGridViewCell c in dataGridView1.CurrentRow.Cells)
            c.Selected = c.ColumnIndex != 4;
}

请注意,这对取消选择行没有任何规定

CellContentClick对它的名字非常认真。从不推荐。但是选择没有正确进行。我一点击它就会消失。不合适??点击哪里???@TaW CellContentClick是我在这里指的一个事件。我正在单击DataGridView的行。单击时,选择不是持久的。它很快就消失了。我们将无法查看是否选择了某些内容。