我有3个表单form1
,form2
,form3
。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();
}
答案 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();
}