您有两种形式:form1 和 form2。两种形式正在开放。在 form2 中,您有一个文本框(txt2)和一个按钮(btn2)。在 form1 中,您有一个文本框(txt1)。当用户在 txt2 上键入内容并单击 btn2 时,txt2 中的文本将附加到 txt1。这就是你想要的?
如果是:在 form2 中,您应该创建一个委托:
// Declare a delegate
public delegate void GetValue(string value);
// Declare event with delegate
public event GetValue btn2_Clicked;
然后,在 form2 中,您创建一个函数来处理该事件:函数名称与您刚刚声明的事件名称相同,并在其中添加前缀“On”。像这样:
public void Onbtn2_Clicked(string value)
{
if (btn2_Clicked != null)
{
btn2_Clicked(value);
}
}
之后,在 btn2 点击事件中,提升你刚刚创建的事件:
private void btn2_Click(object sender, EventArgs e)
{
Onbtn2_Clicked(txt2.Text);
}
好的,这是在form2中完成的。复出 form1 完成:我假设当用户单击 form1 中的按钮(btn1)时打开了 form2,因此在 btn1 中单击事件:
private void btn1_Click(object sender, EventArgs e)
{
// Create form2
Form2 frm2 = new Form2();
// Handle btn2 click
frm2.btn2_Clicked += new Form2.GetValue(frm2_btn2_Clicked);
// Show form2
frm2.Show();
}
void frm2_btn2_Clicked(string value)
{
// When btn2 is clicked, the text in txt2 will be assign to txt1
txt1.Text = value;
}
并且文本将分配给form1中的txt1