如题

解决方案 »

  1.   

    private void DataGrid1_DoubleClick(object sender, System.EventArgs e)
    {
      if(DataGrid1.CurrentCell != null)
      {
        frmDetail detail = new frmDetail();
        detail.ShowDialog();
      }
    }
      

  2.   

    qimini(循序渐进)剑客,好,我去试试
      

  3.   

    错了,应该是这样...
    private void dgdColumns_DoubleClick(object sender, System.EventArgs e)
    {
    if (dgdColumns.CurrentCell.ColumnNumber >= 0 && dgdColumns.CurrentCell.RowNumber >= 0)
    {
    frmDetail detail = new frmDetail();
                      detail.ShowDialog();
    }
    }
      

  4.   

    if (dgdSelectField.CurrentCell.ColumnNumber >= 0 && dgdSelectField.CurrentCell.RowNumber >= 0)
    {
    if (dgdSelectField.CurrentCell.ColumnNumber == 4)//这里是判断具有焦点的单元格是否需要弹出窗口
    {
    frmDetail detail = new frmDetail();
                      detail.ShowDialog(); }
    }
      

  5.   

    qimini(循序渐进)剑客,能弹出来了谢谢,是在两边灰色框中双击弹的,能在里面的白色单元格中双击弹出吗?
      

  6.   

    那样就要复杂一点首先要定义样式
    ctlFieldMap.dgdSelectField.TableStyles.Clear();System.Windows.Forms.DataGridTableStyle dgTableStyle = new DataGridTableStyle(false);dgTableStyle.MappingName = tableName;//“订单表”dgTableStyle.DataGrid = dgdSelectField;
    DataGridTextBoxColumn dc3 = new DataGridTextBoxColumn();
    dc3.MappingName = "源类型";
    dc3.HeaderText = "源类型";
    dc3.TextBox.DoubleClick +=new EventHandler(TextBox_DoubleClick);//这里是绑定文本列的双击事件dgTableStyle.GridColumnStyles.Add(dc3);
    dgdSelectField.TableStyles.Add(dgTableStyle);DataTable dt = this.GetTable();
    DataView dv = _dt.DefaultView;
    dv.AllowNew = false;
    dgdSelectField.DataSource = dv;//这里处理DataGrid列的双击事件
    private void TextBox_DoubleClick(object sender,System.EventArgs e)
    {
    MessageBox.Show(this,"来了");
    }