如何禁用 c# 中标题的 datagridview 鼠标单击事件

Mat*_*erc 3 c# mouse datagridview click

我试图从鼠标单击事件的 datagridview 中获取价值。

在我单击 datagridview 中的标题之前,效果很好。我收到一条错误消息:

Index was out of range. Must be non-negative and less than the size of the collection. Parameter name:index
Run Code Online (Sandbox Code Playgroud)

我使用此代码来检测鼠标点击:

 private void dataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
        {
            if (dataGridView1.Rows[e.RowIndex].Index != -1)
            {
                textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            }
            else
            {
                textBox1.Text = "";
            }
        }
Run Code Online (Sandbox Code Playgroud)

“dataGridView1.Rows[e.RowIndex].Index != -1”不起作用,我不知道为什么。

任何禁用标题上的鼠标单击事件的简单解决方案都会很棒!谢谢!

我也用:

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Run Code Online (Sandbox Code Playgroud)

选择整列并且 CellContentClick 不起作用。如果幸运的话,CEllContentClick 的工作效率是 3/10。

Uri*_*ssi 6

尝试这样写:

private void dataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.RowIndex != -1)
    {
        textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
    }
    else
    {
        textBox1.Text = "";
    }
}
Run Code Online (Sandbox Code Playgroud)