private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {            
            if (e.RowIndex > -1 && e.ColumnIndex > -1)  //双击表头或列头时不起作用   
            {                
                xiang xiang_form = new xiang();
                xiang_form.ShowDialog();
                int Current = dataGridView1.CurrentCell.RowIndex;
                string sendxm = dataGridView1.Rows[Current].Cells[0].Value.ToString().Trim();
                string sendgs = dataGridView1.Rows[Current].Cells[1].Value.ToString().Trim();
                string senddh = dataGridView1.Rows[Current].Cells[2].Value.ToString().Trim();
                string senddz = dataGridView1.Rows[Current].Cells[3].Value.ToString().Trim();
                string sendtw = dataGridView1.Rows[Current].Cells[4].Value.ToString().Trim();
                string sendsfz = dataGridView1.Rows[Current].Cells[5].Value.ToString().Trim();
                string[] sendArray = new string[] { sendxm, sendgs, senddh, senddz, sendtw, sendsfz };
                xiang.inputText[0] = sendArray[0];
                xiang.inputText[1] = sendArray[1];
                xiang.inputText[2] = sendArray[2];
                xiang.inputText[3] = sendArray[3];
                xiang.inputText[4] = sendArray[4];
                xiang.inputText[5] = sendArray[5];                
            }
        
        }       

解决方案 »

  1.   

    (e.RowIndex ==0 || e.ColumnIndex =0)就是双击列头或行头
      

  2.   

    或许你双击的单元格值 为空,在条件前面加上一句:
    private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
      {   
         if (dataGridView1.CurrentCell.Value==null) return;  //  <--加上这一句
         if (e.RowIndex > -1 && e.ColumnIndex > -1) //双击表头或列头时不起作用   
         {   
             。。
         }
      }
      

  3.   

    xiang_form.ShowDialog(); 这句应该放在最下面