我创建了2个表单(form1和form2)。在form1中,按f5功能键,它将显示表单2.然后我想将值传递给form1,只需在按钮点击时关闭form2。
Form1代码
public string fo
{
get { return txtCusID.Text; }
set { txtCusID.Text = value; }
}
表单2代码
public partial class SearchForm : Form
{
PawningForm f2 =new PawningForm();
private void button1_Click_1(object sender, EventArgs e)
{
lblTest.Text = row.Cells[0].Value.ToString();
f2.fo = lblTest.Text;
f2.Show();
}
}
但是当我点击from2上的按钮时,它会创建两次form1,因为“f2.Show();”和现有的形式1。但我想将值传递给现有的form1。
答案 0 :(得分:0)
当您从调用表单(PawningForm)创建SearchForm的实例时,您可以传递调用表单的实例并将其保存在SearchForm的全局变量中,因此您可以使用这些行简单地更改代码。 / p>
表单1代码
SearchForm f = SearchForm(this);
f.ShowDialog();
表单2代码
public partial class SearchForm : Form
{
PawningForm f2;
public void SearchForm(PawningForm caller)
{
f2 = caller;
InitializeComponent();
}
private void button1_Click_1(object sender, EventArgs e)
{
lblTest.Text = row.Cells[0].Value.ToString();
f2.fo = lblTest.Text;
}
}
现在,当您单击按钮时,变量f2表示的实例不是新实例,而是调用SearchForm实例的实例