将所选项目从datagridview保存到文本框

时间:2013-03-20 10:52:15

标签: c# .net winforms datagridview

我有3个表单form1form2form3。form1将首先加载/运行。当我按下form1中的按钮时,它会打开一个新的form2,其中包含一个文本框。当我单击文本框时,它将打开form3,其中包含一个包含多行的datagridview。

所以我在form3中使用了上下文菜单条,我将项目命名为select,如果我选择了datagridview行并选择了contextmenustrip项目select(比如datagridview有两列名称和pin代码) )必须在form2中的文本框中输出密码。我试过但没有发生任何事情。

form1 buttonclick事件

    private void AddBusMasterBtn_Click(object sender, EventArgs e)
    {
        this.Hide();
        Form2 Obj = new Form2();
        Obj.ShowDialog();
        this.Show();
    }

form2有一个文本框,当我点击它将打开一个新的表单,其中包含一个数据网格视图和上下文菜单条带名为select的项目,如果我选择带有项目选择的条带,它必须将所选的行项目放在form2

的文本框
    private void FromStopIDtextBox_Click(object sender, EventArgs e)
    {
        Form3 obj = new Form3();
        obj.ShowDialog();
    }

这是选择上下文菜单条项

    private void selectToolStripMenuItem_Click(object sender, EventArgs e)
    {
        int Row = dataGridView1.CurrentRow.Index;
        string StopId_var = dataGridView1[0, Row].Value.ToString();
        form2 obj = new form2();
        obj.textbox.text = StopId_var;

        this.Close();
    }

1 个答案:

答案 0 :(得分:1)

Form3 obj = new Form3(ref textBox);
obj.ShowDialog();

您需要创建第二个Form3构造函数,它从Form2获取文本框作为参考。

 Textbox textbox;
    public Form3(ref TextBox _textbox)
    {
       InitializeComponents();
      textbox = _textbox;
    }

现在,当单击menuitem时,您必须将当前单击的行col值的值分配给文本框文本;

 private void selectToolStripMenuItem_Click(object sender, EventArgs e)
 {
        int Row = dataGridView1.CurrentRow.Index;
        string StopId_var = dataGridView1[0, Row].Value.ToString();
        textbox.Text = StopId_var;
        this.Close();
  }
相关问题