请问我如何双击dataGridView中某一行后跳出一个窗体,并把双击dataGridView中某一行的数据传入跳出的窗体的文本框

解决方案 »

  1.   

    DataGridViewRow dr=  this.dataGridView1.CurrentRow
               string s = dr.Cells[1].Value.ToString()
      

  2.   

    private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
            {
                string aa =this.dataGridView1.Rows[e.RowIndex].Cells["Column1"].Value
                Form F = new Form(aa);
                F.Show();
            }
      

  3.   

    刚好在给老婆写家庭账务软件,下面是其中的一部有,应该有你要的吧. //---------根据指针指向的凭证表数据显示其分录表数据---------
    private void dataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
    {
    da2.SelectCommand.Parameters[0].Value=txt4.Text.Trim();
    newTable.Clear();
    da2.Fill(newTable);
    dataGrid2.ReadOnly=true;
    }
    //----------双击分录表表格,添加新的分录记录----------
    private void dataGrid2_DoubleClick(object sender, System.EventArgs e)
    {
    if(this.enableDoubleClick==true)
    {
    this.doubleClicked();
    }
    } //--------------确定鼠标在表格中的点击模式--------------
    private void dataGrid2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    //获取当前点击鼠标时的时间
    DataGrid myGrid   = (DataGrid)sender;
    System.Windows.Forms.DataGrid.HitTestInfo myHitTest;

    myHitTest = dataGrid2.HitTest(e.X,e.Y);
    if ( myHitTest.Type == System.Windows.Forms.DataGrid.HitTestType.Cell )
    gridMouseDownTime = DateTime.Now;
    } //------------处理鼠标在dataGrid上的单击事件-----------
    private void TextBoxMouseDownHandler(object sender, MouseEventArgs e )
    {
    //第一个判断条件:在单元格的textbox中的双击(即单击DataCell,使它获得焦点后,然后再响应该Cell中的双击事件)
    //第二个判断条件:DataGrid 的 DoubleClick(直接双击Cell就响应双击事件,无须先单击Cell,使它获得焦点,然后再响应双击事件)
    //判断时间间隔是否小于控制面板中所定义的双击间隔时间
    if((e.Button == MouseButtons.Left && e.Clicks == 2 || DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))&&(this.enableDoubleClick==true))
    {
    this.doubleClicked();
    }
    } //-------双击分录表表格,添加新的分录数据-----------
    private void doubleClicked()
    {
    newTable.Rows.Add(newTable.NewRow()); //向表中添加一行,保持总有一个新行
    SelectSubject newFrm=new SelectSubject();
    newFrm.ShowDialog();
    int rowNumber=dataGrid2.CurrentCell.RowNumber;
    dataGrid2[rowNumber,0]=mID;
    dataGrid2[rowNumber,1]=mName;
    dataGrid2[rowNumber,2]="0";
    dataGrid2[rowNumber,3]="0";
    SendKeys.Send("{Tab}");//向活动应用程序发送Tab键,跳到下一控件
    }
      

  4.   

    LZ说的是WinForm的吧 用楼上的方法
      

  5.   

    private void dataGrid1_DoubleClick(object sender, System.EventArgs e)
    {
    //向凭证输入窗体传递选择的科目编码和名称
    WarrentInput.mID=dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString();
    WarrentInput.mName=dataGrid1[dataGrid1.CurrentCell.RowNumber,1].ToString();
    this.Close(); }
      

  6.   

    不行呀
    代码如下:发送源窗口:
    public string  s,s1, s2; 
     private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
            {            DataGridViewRow dr = this.dataGridView1.CurrentRow;
                string s = dr.Cells[0].Value.ToString();
                s1 = dr.Cells[1].Value.ToString();
                s2 = dr.Cells[2].Value.ToString();             HR_edit HR1 = new HR_edit(s);
                 HR1.Show();
            }  目标窗口:
     private void HR_edit_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Add("管理员权限");
                comboBox1.Items.Add("普通权限");
                
                   textBox1 .text=s
                   textBox2 .text=s1
                   textBox3 .text=s2
                
                
        }提示错误 4 “HR_edit”方法没有采用“1”个参数的重载 请帮忙解决!!!
      

  7.   

    改下你的HR_edit窗体的构造函数:private string s;
    public HR_edit(string str)
    {
        s=str;
    }
      

  8.   

    try..private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
            {            DataGridViewRow dr = this.dataGridView1.CurrentRow;
                string s = dr.Cells[0].Value.ToString();
                s1 = dr.Cells[1].Value.ToString();
                s2 = dr.Cells[2].Value.ToString();             HR_edit HR1 = new HR_edit(s,s1,s2);
                 HR1.Show();
            }  目标窗口:private string s;
    private string s1;
    private string s2;public Hr_edit(string str1,string str2,string str3)
    {
         s=str1;
         s1=str2;
         s2=str3;
    }
     private void HR_edit_Load(object sender, EventArgs e)
            {
                comboBox1.Items.Add("管理员权限");
                comboBox1.Items.Add("普通权限");
                
                   textBox1 .text=s
                   textBox2 .text=s1
                   textBox3 .text=s2
                
                
        }
      

  9.   

    新手问个问题:dataGridView更本没有CellContentDoubleClick的出发事件啊,怎么会处理上面的处理程序啊~~~~~~~??????????????????????、