Winforms 从datagridview左上角单元格中删除所有行选择选项在c中单击

Winforms 从datagridview左上角单元格中删除所有行选择选项在c中单击,winforms,datagridview,Winforms,Datagridview,我在我的项目中使用数据网格视图控件,要求如下。 行标题可见=真,列标题可见=真,多重选择=真, 选择模式=整行选择。 允许多行选择为true,但不允许在用户单击左上角单元格时选择所有行 请帮帮我 左上角单元格的唯一用途是选择所有单元格,我认为这不可能被禁用 在任何情况下,都可以使用if条件检查是否选中了所有行,并相应地继续 ps:我是C新手,对C了解不多多亏了来自另一个的@anchandra响应,您可以通过覆盖OnCellMouseDown行为来完成该行为: protected override

我在我的项目中使用数据网格视图控件,要求如下。 行标题可见=真,列标题可见=真,多重选择=真, 选择模式=整行选择。 允许多行选择为true,但不允许在用户单击左上角单元格时选择所有行


请帮帮我

左上角单元格的唯一用途是选择所有单元格,我认为这不可能被禁用

在任何情况下,都可以使用if条件检查是否选中了所有行,并相应地继续


ps:我是C新手,对C了解不多

多亏了来自另一个的@anchandra响应,您可以通过覆盖OnCellMouseDown行为来完成该行为:

protected override void OnCellMouseDown(DataGridViewCellMouseEventArgs e)
{
    if (e.RowIndex == -1 && e.ColumnIndex == -1) return;
    base.OnCellMouseDown(e);
}

将RowHeadersVisible设置为false。

我可以使用if条件取消选择所有行,但它看起来像一个闪光灯。当我单击左上角的单元格时,在“单元格单击”事件中,它首先选择所有行,然后执行我的代码。看起来像是眨眼。你有什么办法来消除眨眼吗?