C# 如何使第一行列在DataGridView中不可单击?

C# 如何使第一行列在DataGridView中不可单击?,c#,winforms,C#,Winforms,我用这种方式制作了这个应用程序,当你点击当前行时,你会得到一个新的表单,在那里你可以编辑这个项目,如果我点击的话 列名:ID、名称、国家/地区我再次获得新表单,第一条记录需要编辑,但我不想单击列名并加载编辑表单。我只希望在单击第一行而不是最后一行时发生这种情况。所以我就这么做了: if (advancedDataGridView.CurrentCell.RowIndex > 0) { editRecord.ShowDialog(); } 但我现在无法编辑

我用这种方式制作了这个应用程序,当你点击当前行时,你会得到一个新的表单,在那里你可以编辑这个项目,如果我点击的话

列名:ID、名称、国家/地区我再次获得新表单,第一条记录需要编辑,但我不想单击列名并加载编辑表单。我只希望在单击第一行而不是最后一行时发生这种情况。所以我就这么做了:

if (advancedDataGridView.CurrentCell.RowIndex > 0)
    {
        editRecord.ShowDialog();
    }
但我现在无法编辑第一行,有什么想法吗?我如何修复它

if (advancedDataGridView.CurrentCell.RowIndex > 0)
索引从0开始。此条件忽略0,仅当索引大于0时才有效(因此从1开始)。如果是case,因为索引从0开始,所以需要使用大于或等于0(
=

编辑:

要解决忽略标题单元格的问题,请执行以下操作:

    private void DataGridView_OnCellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex >= 0 && !(sender is DataGridViewHeaderCell))
        {
            MessageBox.Show("content cell was clicked");
        }
    }

请注意,您必须使用
CellClick
事件处理程序。

在哪个事件中有该代码?在尝试访问CurrentCell或CurrentRow0是有效索引之前,似乎需要检查null,因此,请使用
=
,但这样,当我单击列时,我会再次获得编辑表单,我不希望这样。但这样,当我单击列时,我会再次获得编辑表单,我不希望这样。您可以检查列索引是否>0,然后我无法单击第一行,请仔细阅读问题。因此,(RowIndex>=0&&ColumnIndex>0)导致您无法选择第一行,对吗?如果rowindex>=0,我可以选择第一行,但我也可以选择列名称,我不希望这样。我想在这张图片中选择除列名以外的所有内容,你可以看到它们ID、姓名、国家、号码、性别