将datagridview单元格内容添加到其他格式的文本框中c#

时间:2015-06-18 19:41:16

标签: c# datagridview textbox

我有2个表格。其中一个文本框显示所选客户的名称,另一个文件框具有datagridview以显示客户列表。 当我点击文本框时,第二个表单将打开。我想知道是否有可能双击datagridview单元格然后文本框的文本由datagridview选择单元格在第一个窗体上更改? 这是我的代码。

我写了这段代码来打开form2:

private void textBox1_Click(object sender, EventArgs e) 
{
    frmCustomer customer = new frmCustomer();            
    customer.ShowDialog();
}

并在form2中:

private void dataGridView1_CellDoubleClick(object sender,DataGridViewCellEventArgs e)
{
   string name =  dataGridView1.CurrentRow.Cells["clmName"].Value.ToString();
   form1 f = new form1();
   f.txtCustomer.Text = name;
   this.close();
 }

当form2关闭时,文本框中没有任何内容。

任何帮助?万分感谢

2 个答案:

答案 0 :(得分:0)

创建Form2时,可以尝试将Form1作为参数传递。

private void textBox1_Click(object sender, EventArgs e) 
{
    frmCustomer customer = new frmCustomer(this); // this represents the Form1           
    customer.ShowDialog();
}

然后在form2上

private Form1 frm_1;
public Form2(Form1 frm)
{
    InitializeComponent();
    frm_1 = frm;
}

private void dataGridView1_CellDoubleClick(object sender,DataGridViewCellEventArgs e)
{
   string name =  dataGridView1.CurrentRow.Cells["clmName"].Value.ToString();
   frm_1.txtCustomer.Text = name;
   this.close();
 }

这将完成工作。

答案 1 :(得分:0)

关闭第二张表格不会将其丢弃。第一种形式仍然可以访问其公共成员 第二种形式可以有一个公共财产,可以在关闭后通过第一种形式进行访问。

尝试以下方法: 第一个表格应包含:

private void textBox1_Click(object sender, EventArgs e)
{
    frmCustomer customer = new frmCustomer();
    customer.ShowDialog();
    textBox1.Text = customer.Name;
    customer.Dispose();
}

第二种形式应包含:

public string Name { get; private set; }

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
   Name = dataGridView1.CurrentRow.Cells["clmName"].Value.ToString();
   this.close();
}