如何双击DataGridView的行,弹出一个FORM显示当前行数据到这个form中的textbox?
能实现再加100分

解决方案 »

  1.   

    http://mjjy.host.fdwww.net.cn/member/products.aspx看看我的这个网页是不是你所说的单击左边的行,把选中的信息填到右边。这个不是用的控件,是后台生成的html文本,把单击事件改为双击事件就行。或者改成鼠标滑过也行。很灵活。
      

  2.   

    1个偷懒的写法,
    使用父窗口使用BindSource做为中间数据源绑定子窗口添加一个带参构造函数 xxform(Bindingsource bs1);
    并使用DataBindins.add函数添加数据绑定
    TextBox1.DataBindings.Add("Text", bs1, "Company_customer.email", true);父窗口双击时       private void dataGridView1_DoubleClick(object sender, EventArgs e)
            {
                if (this.dataGridView1.CurrentRow!=null)
                {    
                    customer_add _customer = new customer_add(this.bindingSource1);
                    _customer.ShowDialog();             
                }
               
            }如果还有不清楚的地方,请查询msdn的bindingSource和DataBindins相关说明ps:参考资料msdn,如何:使用 BindingSource 组件跨窗体共享绑定数据
      

  3.   

    是不是象csdn论坛里的一样,把鼠标放在昵称上边的效果?
      

  4.   

    Form1
    private void datagridview1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
       Form2 frm = new Form2();
       frm.StrName = this.datagridview1.CurrentRow.Cells[1].Value.ToString();
       frm.Show();
    }
    Form2 添加属性
     private string strName = string.Empty;        public string StrName
            {
                get 
                {
                    return strName;
                }
                set 
                { 
                    strName = value;
                    this.textBox1.Text = strName;
                }
            }
    你要的其实就是Form间传值!
      

  5.   

    一行数据全部放到textbox还是其中的某个?
      

  6.   

    方法是先取得这一行的值,currentrow属性,然后再通过新窗体的构造函数将该值传递到新窗口中,再在新窗体的load事件中对相应的TEXTBOX赋值,就可以了。
      

  7.   


    怎樣把這個轉為vb.net?
    private string strName = string.Empty;         public string StrName 
            { 
                get 
                { 
                    return strName; 
                } 
                set 
                { 
                    strName = value; 
                    this.textBox1.Text = strName; 
                } 
            } 
    這樣有錯?
    Private strName As String = String.Empty 
    Public Property StrName() As String 
        
        Get 
            Return strName 
        End Get 
        Set 
            strName = value 
            Me.textBox1.Text = strName 
        End Set 
    End Property 
      

  8.   

    Private strName As String = String.Empty 
    Public Property StrName() As String 
        
        Get 
            Return strName 
        End Get 
        Set 
            strName = value 
            Me.textBox1.Text = strName 
        End Set 
    End Property 
    Private不能調用。改為Private 提示StrName已經為string
    strName = value 有異常
      

  9.   


     Private strName As String = String.Empty
        Public Property StrName() As String
            Get
                Return strName
            End Get
            Set(ByVal value As String)
                strName = value
                Me.textBox1.Text = strName
            End Set
        End Property錯誤1 無法在此內容中存取 'WindowsApplication1.FormEditCustomer.strName',因為它是 'Private'。
    錯誤2'StrName' 已經在此 class 中宣告為 'Private Dim strName As String'了。
    警告3 變數 'StrName' 已在指派值之前使用。可能會在執行階段產生 null 參考例外狀況。
      

  10.   

    狂狂感谢 {lsj_zrp}你真的很历害,更感谢LZ的提问.帮我解决了我一直想解决但解决不了的问题.非常谢谢!!!!!!!