C#使用CTRL和SHIFT键选择datagridview行

C#使用CTRL和SHIFT键选择datagridview行,c#,winforms,datagridview,C#,Winforms,Datagridview,我需要以这种方式实现datagridview选择,以便当用户单击单元格时,选中整行;当用户按住CTRL键时,选中其他行;当用户按住SHIFT键时,选中行的范围。根据要求,我无法显示行标题,因此选择应基于单元格单击。我还知道datagridview.SelectionMode=FullRowSelect会起作用,但我在使用SHIFT表示选择间隙时遇到了一个问题。当有人选择一行时,按下SHIFT键,然后跳过几行选择另一行,但并非所有单元格都被选中(请看图片-x=3,4,5的行中有未选中的单元格)

我需要以这种方式实现datagridview选择,以便当用户单击单元格时,选中整行;当用户按住CTRL键时,选中其他行;当用户按住SHIFT键时,选中行的范围。根据要求,我无法显示行标题,因此选择应基于单元格单击。我还知道
datagridview.SelectionMode=FullRowSelect
会起作用,但我在使用SHIFT表示选择间隙时遇到了一个问题。当有人选择一行时,按下SHIFT键,然后跳过几行选择另一行,但并非所有单元格都被选中(请看图片-x=3,4,5的行中有未选中的单元格)

帮我解决这个问题

实际上我有一些想法。例如,以某种方式将单击单元格视为单击行标题,但我不确定如何实现这一点

datagridview.SelectionMode = FullRowSelect


我尝试复制您的问题,但没有成功-fullrowselect没有行标题,multiselect true对CTRL和SHIFT选择都很好。您的问题中还有其他不寻常的代码吗?我尝试复制您的问题,但没有成功-fullrowselect没有行标题,multiselect true适用于CTRL和SHIFT选择。你的问题中有没有其他不寻常的代码?
datagridview.RowHeaderVisible=false