Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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# 如何在keydown DataGridView C中给出条件#_C#_If Statement_Datagridview - Fatal编程技术网

C# 如何在keydown DataGridView C中给出条件#

C# 如何在keydown DataGridView C中给出条件#,c#,if-statement,datagridview,C#,If Statement,Datagridview,我想创造一个这样的条件 private void dataGridView1_KeyDown(object sender, KeyEventArgs e) { } 如果用户选择第一列,它将执行insert;如果用户选择第三列,它将执行edit 我该怎么做呢?试试这个 if( dataGridView1.SelectedColumns[2] != null) { //Insertion } if( dataGridView1.SelectedColumns[0] != null) {

我想创造一个这样的条件

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
}
如果用户选择第一列,它将执行
insert
;如果用户选择第三列,它将执行
edit

我该怎么做呢?

试试这个

if( dataGridView1.SelectedColumns[2] != null)
{
    //Insertion
}
if( dataGridView1.SelectedColumns[0] != null)
{
   //Editing
}

您需要检查所选列,假设它们只能选择一个,您可以执行此检查

if(dataGridView1.SelectedColumns[0] == dataGridView1.Columns[0])
{
    //Insert code;
}

else if(dataGridView1.SelectedColumns[0] == dataGridView1.Columns[2])
{
    //Edit code;
}
如果他们可以选择多个列,您也应该首先执行此检查

if(dataGridView1.Columns.GetColumnCount(DataGridViewElementStates.Selected) == 1)
{
    if(dataGridView1.SelectedColumns[0] == dataGridView1.Columns[0])
    {
        //Insert code;
    }

    else if(dataGridView1.SelectedColumns[0] == dataGridView1.Columns[2])
    {
        //Edit code;
    }
}

如果他们选择第2列,
dataGridView1.SelectedColumns[0]
将不会为空。如果答案对您有效,请随时标记为:)