将所选项目从数据网格视图保存到文本框中

本文关键字:保存 视图 文本 网格 数据网 选项 项目 数据 | 更新日期: 2023-09-27 18:05:06

我有三个表单form1form2form3。form1将首先加载/运行。当我按下form1中的按钮时,它将打开一个新的form2,其中有一个文本框。当我单击文本框时,它将打开form3,它有一个包含多行的数据网格视图。

因此,我在form3中使用了上下文菜单条,并将该项目命名为select,例如,如果我选择数据网格视图行并选择上下文菜单条项目select(例如,数据网格视图有两列名称和pin代码(,则pin代码必须在form2中的文本框中输出。我试过了,但什么也没发生。

form1按钮点击事件:

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

form2有一个文本框,当我点击它时,它将打开一个新表单,该表单有一个数据网格视图和上下文菜单条,其中有一个名为select的项目,如果我选择了带项目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();
    }

将所选项目从数据网格视图保存到文本框中

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

您需要创建Form3的第二个构造函数,该构造函数从Form2获取文本框作为引用。

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

现在,当菜单项被点击时,您必须将当前点击的行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();
  }