C# 将选定项从数据网格视图保存到文本框
我有3个表单C# 将选定项从数据网格视图保存到文本框,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我有3个表单form1,form2,form3。form1将首先加载/运行。当我按下form1中的按钮时,它将打开一个新的form2,其中有一个文本框。当我单击文本框时,它将打开form3,其中有一个包含多行的datagridview 因此,我在form3中使用了一个上下文菜单条,并将该项命名为select,例如,如果我选择datagridview行并选择contextmenustrip item select(假设datagridview有两列名称和pin码),则pin码必须在form2中的文
form1
,form2
,form3
。form1将首先加载/运行。当我按下form1
中的按钮时,它将打开一个新的form2
,其中有一个文本框。当我单击文本框时,它将打开form3
,其中有一个包含多行的datagridview
因此,我在form3
中使用了一个上下文菜单条,并将该项命名为select,例如,如果我选择datagridview行并选择contextmenustrip item select(假设datagridview有两列名称和pin码),则pin码必须在form2
中的文本框中输出。我试过了,但什么也没发生
表单1按钮单击事件:
private void AddBusMasterBtn_Click(object sender, EventArgs e)
{
this.Hide();
Form2 Obj = new Form2();
Obj.ShowDialog();
this.Show();
}
form2
有一个文本框,当我单击该文本框时,它将打开一个新表单,该表单具有datagrid视图和上下文菜单条,其中包含名为select的项,如果我选择strip with item 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
构造函数,该构造函数从Form2获取文本框作为参考
Textbox textbox;
public Form3(ref TextBox _textbox)
{
InitializeComponents();
textbox = _textbox;
}
现在,单击菜单项时,必须将当前单击的行列列值的值指定给文本框文本
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();
}
您需要创建第二个Form3
构造函数,该构造函数从Form2获取文本框作为参考
Textbox textbox;
public Form3(ref TextBox _textbox)
{
InitializeComponents();
textbox = _textbox;
}
现在,单击菜单项时,必须将当前单击的行列列值的值指定给文本框文本
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();
}